有人可以帮助我有条件地选择numpy数组中的元素吗?我试图返回大于阈值的元素。我目前的解决方案是:
sampleArr = np.array([ 0.725, 0.39, 0.99 ])
condition = (sampleArr > 0.5)`
extracted = np.extract(condition, sampleArr) #returns [0.725 0.99]
然而,这似乎是迂回的,我怀疑在一条线上有办法吗?
答案 0 :(得分:5)
您可以直接索引:
sampleArr[sampleArr > 0.5]
sampleArr = np.array([0.725, 0.39, 0.99])
condition = (sampleArr > 0.5)
extracted = np.extract(condition, sampleArr) # returns [0.725 0.99]
print(sampleArr[sampleArr > 0.5])
print(sampleArr[condition])
print(extracted)
[ 0.725 0.99 ]
[ 0.725 0.99 ]
[ 0.725 0.99 ]
答案 1 :(得分:2)
你实际上可以像这样做布尔索引:
extracted = sampleArr[sampleArr > 0.5]