Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python中的条件求和_Python_Numpy - Fatal编程技术网

python中的条件求和

python中的条件求和,python,numpy,Python,Numpy,我有一个numpy 2d阵列(8000x7200)。我想计算值大于指定阈值的单元格数。我试着用一个双循环来做这个,但是它需要很多时间。 有没有快速执行此计算的方法?您的最佳选择可能类似于np.count\u nonzero(x>阈值),其中x是您的二维数组 顾名思义,count\u nonzero计算非零元素的数量。通过利用True为1-ish这一事实,您可以使用它来计算True的元素数,假设变量定义为 np.random.seed([3,1415]) a = np.random.rand(80

我有一个numpy 2d阵列(8000x7200)。我想计算值大于指定阈值的单元格数。我试着用一个双循环来做这个,但是它需要很多时间。
有没有快速执行此计算的方法?

您的最佳选择可能类似于
np.count\u nonzero(x>阈值)
,其中
x
是您的二维数组


顾名思义,
count\u nonzero
计算非零元素的数量。通过利用
True
为1-ish这一事实,您可以使用它来计算
True

的元素数,假设变量定义为

np.random.seed([3,1415])
a = np.random.rand(8000, 7200)
threshold = .5
然后使用
sum

*
(a>阈值)
是一个布尔数组,指示单元格的每个实例都大于某个
阈值。由于布尔值是
int
的一个子类,
False
为零,
True
为一,因此我们可以轻松地将它们相加<默认情况下,code>numpy
s
sum
对整个数组求和

(a > threshold).sum()
28798689

这几乎是50%@Ev.Kounis上的点,这是我选择的示例的性质。我知道,但我仍然对它感到有趣。非常感谢,它工作得很好,但比
np.count\u non zero