我有一个 numpy 二维数组 (8000x7200)。我想计算值大于指定阈值的单元格的数量。我尝试使用双循环来执行此操作,但这会花费很多时间。 有没有办法快速执行此计算?
最佳答案
假设您的变量定义为
np.random.seed([3,1415])
a = np.random.rand(8000, 7200)
threshold = .5
然后使用sum
*(a > threshold)
是一个 bool 数组,指示单元格的每个实例都大于某个 threshold
。由于 bool 值是 int
的子类,False
为零,True
为一,我们可以很容易地将它们相加。 numpy
s sum
默认对整个数组求和。
(a > threshold).sum()
28798689
关于python - python中的条件求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44439375/