Вы можете использовать np.unique
еще раз:
# Example
a = np.random.randint(0, 4, (4, 3))
b = np.random.randint(0, 4, (4, 3))
a
# array([[1, 3, 3],
# [3, 0, 2], <--
# [2, 3, 1],
# [3, 3, 0]])
b
# array([[3, 1, 0],
# [3, 0, 3], <--
# [0, 1, 3],
# [0, 3, 2]])
# combine
ab = np.r_[a, b]
# find uniques and label original data with index of their unique
unq, inv = np.unique(ab[:, :-1], axis=0, return_inverse=True)
# sum counts by index
np.c_[unq, np.bincount(inv, ab[:, -1]).astype(int)]
# array([[0, 1, 3],
# [0, 3, 2],
# [1, 3, 3],
# [2, 3, 1],
# [3, 0, 5], <--
# [3, 1, 0],
# [3, 3, 0]])