C = np.array([[1,2,3], [4,5,6], [7,8,9]]) M = np.array([2,1,0]) np.take_along_axis(C, M.reshape(-1,1), axis=1).reshape(-1) # array([3, 5, 7])
C = np.array([[1,2,3], [4,5,6], [7,8,9]]) M = np.array([2,1,0]) np.take_along_axis(C, M.reshape(-1,1), axis=1).reshape(-1) # array([3, 5, 7])