How to add values to only certain index in Numpy 2D Matrix

Use a simple multi-dimensional indexing:

matrix[np.arange(matrix.shape[0]), index] += add_value

Or using python builtins:

matrix[tuple(zip(*enumerate(index)))] += add_value

Output:

array([[2, 2],
       [3, 6],
       [5, 9]])