Python 如何计算numpy数组中指定阈值附近的对象数

Python 如何计算numpy数组中指定阈值附近的对象数,python,numpy,scipy,Python,Numpy,Scipy,如何获得二维numpy数组中每行大于阈值的所有数字的计数 例如,如果我的阈值为4,而这个数组 [[1, 2, 3, 4, 5], [1, 2, 3, 8, 9], [1, 2, 3, 5, 5]] 我想要这个输出 [1, 2, 2] 我可以反复讨论这个问题,但我猜numpy有一种更有效的方法。谢谢。这很简单:.sum(1)逐行计算总和x>4是一个布尔数组。当计算sum时,True为1,False为0 In [173]: x = np.array([[1, 2, 3, 4, 5],

如何获得二维numpy数组中每行大于阈值的所有数字的计数

例如,如果我的阈值为4,而这个数组

[[1, 2, 3, 4, 5],
 [1, 2, 3, 8, 9],
 [1, 2, 3, 5, 5]]
我想要这个输出

[1, 2, 2]

我可以反复讨论这个问题,但我猜numpy有一种更有效的方法。谢谢。

这很简单:
.sum(1)
逐行计算总和
x>4
是一个布尔数组。当计算
sum
时,
True
1
False
0

In [173]:

x = np.array([[1, 2, 3, 4, 5],
             [1, 2, 3, 8, 9],
             [1, 2, 3, 5, 5]])
In [174]:

(x>4).sum(1)
Out[174]:
array([1, 2, 2])

In [175]:

x>4
Out[175]:
array([[False, False, False, False,  True],
       [False, False, False,  True,  True],
       [False, False, False,  True,  True]], dtype=bool)

这是可行的,但我不明白为什么。(x>4)是面具吗?如果是。。。如何对掩码求和?不,
(x>4)
是一个布尔数组。