在 python 中的 nd 数组中查找点索引的最佳方法

The best way to find index of point in nd array in python

我正在使用 Python3 和 numpy。我有一个 nd 数组,如:

arr = np.array([[1,2], [3,4],[5,6]])

我想找到点的位置,例如 [3,4]。我正在使用这个

idP = [id for id in range(len(arr)) if (arr[id] == [3,4]).all()]

最好的方法是什么

这个怎么样?

arr.tolist().index([3,4])

您可以通过以下方式完成:

(arr == [3, 4]).all(-1).nonzero()[0]

或使用 np.isin:

np.isin(arr, [3, 4]).all(1).nonzero()[0]

一个解决方案可能是将您的 numpy 数组转换为 python 列表

arr.tolist().index([3,4])
>>> 1