我有一个名为 a
的 numpy 数组,我想检查它是否包含一个范围内的项目,该范围由两个值指定。
import numpy as np
a = np.arange(100)
mintrshold=33
maxtreshold=66
我的解决方案:
goodItems = np.zeros_like(a)
goodItems[(a<maxtreshold) & (a>mintrshold)] = 1
if goodItems.any():
print (there s an item within range)
你能建议我一个更有效的 pythonic 方法吗?
最佳答案
Numpy 数组不适用于 pythonic a < x < b
.但是有一个功能:
np.logical_and(a > mintrshold, a < maxtreshold)
或
np.logical_and(a > mintrshold, a < maxtreshold).any()
在您的特定情况下。基本上,您应该结合两个元素方面的操作。寻找logic funcs了解更多详情
关于python - 如何有效地检查 numpy 数组包含给定范围内的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44281968/