2 回答

TA貢獻1851條經(jīng)驗 獲得超3個贊
如果你想要索引,你通常會使用arg_x
像argmax
和這樣的函數(shù)argwhere
。np.argwhere
如果您能弄清楚如何傳遞正確的布爾值列表,這里將為您提供索引。你可以用np.isin()做到這一點:
a = np.array([[2, 1],
[3, 3],
[4, 6],
[4, 8],
[4, 7],
[4, 3]])
b = np.array([[4,6], [4,7]])
np.argwhere(np.isin(a, b).all(axis=1))
哪個返回:
array([[2],
[4]])

TA貢獻1872條經(jīng)驗 獲得超4個贊
這應該是一個快速的解決方案,注意到兩對具有相同的第一個坐標:
np.where((a[:, 0] == 4) & ((a[:, 1] == 6) | (a[:, 1] == 7)))
# Out:
# (array([2, 4]),)
表達方式
print((a[:, 0] == 4) & ((a[:, 1] == 6) | (a[:, 1] == 7)))
給
[False False True False True False]
添加回答
舉報