如何在python中列出数组中大于特定值的所有值

如何在python中列出数组中大于特定值的所有值,python,python-3.x,numpy,Python,Python 3.x,Numpy,到目前为止,我所做的是对数组值的前3个位置进行排序,但我希望得到唯一大于0.20的值。。。。。按降序排列 label = np.array(genres) print(label) #OUTPUT: [0.1892372 0.29031774 0.19473006 0.01859367 0.10489976 0.20222157] label = label.argsort()[::-1][:3] 我得到的结果是: Output: [1 5 2] 正在查找的输出: label = [0.

到目前为止,我所做的是对数组值的前3个位置进行排序,但我希望得到唯一大于0.20的值。。。。。按降序排列

label = np.array(genres)
print(label)
#OUTPUT:  [0.1892372  0.29031774 0.19473006 0.01859367 0.10489976 0.20222157]
label = label.argsort()[::-1][:3]
我得到的结果是:

Output:
[1 5 2]
正在查找的输出:

label = [0.29031774 0.20222157]
[1 5]

获取那些特定的索引,然后索引-

# Get all valid indices
In [12]: idx = np.flatnonzero(label>0.2)

# Index into input array and get descending order
In [20]: idx[np.argsort(label[idx])[::-1]]
Out[20]: array([1, 5])
np.flatnonzero()
的变体是
np.nonzero()[0]
np.where()[0]
请附上此

labelargs = label.argsort()[::-1][:3]
print(labelargs) ## this will print [1 5 2]
labelargs = [x for x in labelargs if label[x]>0.2]
print(labelargs) ## this will print [1 5]
问候