import numpy as np
A= np.array([[ 0, 1, 2],
[ 1, 1, 6],
[ 2, 2, 10],
[ 3, 2, 14]])
# Find the split indices
i = np.nonzero(np.diff(A[:, 1]))[0] + 1
i = np.insert(i, 0, 0)
# Compute the result columns
c0 = np.arange(i.size)
c1 = A[i, 1]
c2 = np.add.reduceat(A[:, 2], i)
# Concatenate the columns
result = np.c_[c0, c1, c2]
print(result)
aW1wb3J0IG51bXB5IGFzIG5wCgpBPSBucC5hcnJheShbWyAwLCAgMSwgIDJdLAogICAgICAgICAgICAgIFsgMSwgIDEsICA2XSwKICAgICAgICAgICAgICBbIDIsICAyLCAxMF0sCiAgICAgICAgICAgICAgWyAzLCAgMiwgMTRdXSkKIyBGaW5kIHRoZSBzcGxpdCBpbmRpY2VzCmkgPSBucC5ub256ZXJvKG5wLmRpZmYoQVs6LCAxXSkpWzBdICsgMQppID0gbnAuaW5zZXJ0KGksIDAsIDApCiMgQ29tcHV0ZSB0aGUgcmVzdWx0IGNvbHVtbnMKYzAgPSBucC5hcmFuZ2UoaS5zaXplKQpjMSA9IEFbaSwgMV0KYzIgPSBucC5hZGQucmVkdWNlYXQoQVs6LCAyXSwgaSkKIyBDb25jYXRlbmF0ZSB0aGUgY29sdW1ucwpyZXN1bHQgPSBucC5jX1tjMCwgYzEsIGMyXQoKcHJpbnQocmVzdWx0KQ==