[英]How to find the index of an element in an numpy array?
我有一个数组df
,其中每个元素都是 2 个数字的列表。 给定一个元素p = [18, 169]
。 我想在df
中找到此类元素p
的索引。 给定df
[[[13, 169], [18, 169], [183, 169]],
[[-183, 169], [18, 169], [183, 169]],
[[18, 169], [-18, 169], [183, 169]]]
使用(df == p).all(-1)
,我得到
array([[False, True, False],
[False, True, False],
[ True, False, False]])
我想要的是
[[0, 1],
[1, 1],
[2, 0]]
您能否详细说明如何执行此操作?
import numpy as np
df = np.array([[[13, 169], [18, 169], [183, 169]],
[[-183, 169], [18, 169], [183, 169]],
[[18, 169], [-18, 169], [183, 169]]])
p = [18, 169]
ind = (df == p).all(-1)
ind
你用(df==p).all(-1)
计算的是一个mask 。 它们有很多用途,但您可以直接使用它来计算您想要的值。
# True or false at each coordinate
mask = (df==p).all(-1)
# Extract the coordinates where the mask is True
result = np.argwhere(mask)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.