Это операция O (n²), и она не предназначена для прямого метода без цикла.
Следующее решение работает для любого размера двумерных переменных points
и a
.
import numpy as np
points = np.array([[1,2],[4,0],[3,0],[2,4]])
a = np.array([[1,2], [3,0]])
np.array([np.argwhere((points==a[i]).all(axis=1))[0][0] for i in xrange(a.shape[0])])
# returns array([0, 2])
Однако это не работает для значений a
, отсутствующих в points
.