Numpy 如何搜索每行大于给定值的值的数量

Numpy 如何搜索每行大于给定值的值的数量,numpy,numpy-ndarray,Numpy,Numpy Ndarray,比如说, a = np.array([[1,2,3] [1,0,4] [2,1,1]]) 然后,对于每一行,我会发现值的数量大于另一个数组中的对应值,比如b=np.array([2,1,0]),预期结果是一个数组[1,1,3](第一行,一个数字大于2,第二行,一个数字大于1,第三行,三个数字大于0) 有没有办法使用numpy内置方法来实现这一点?非常感谢 使用None/np将b扩展到2D。然后与a进行比较,这将对每行的所有列进行比较,然后

比如说,

a = np.array([[1,2,3]
              [1,0,4]
              [2,1,1]])
然后,对于每一行,我会发现值的数量大于另一个数组中的对应值,比如b=np.array([2,1,0]),预期结果是一个数组[1,1,3](第一行,一个数字大于2,第二行,一个数字大于1,第三行,三个数字大于0)


有没有办法使用numpy内置方法来实现这一点?非常感谢

使用
None/np将
b
扩展到
2D
。然后与
a
进行比较,这将对每行的所有列进行比较,然后对行进行求和-

In [12]: (a > b[:,None]).sum(axis=1)
Out[12]: array([1, 1, 3])

使用
None/np将
b
扩展到
2D
。newaxis
使每个元素位于一行中。然后与
a
进行比较,这将对每行的所有列进行比较,然后对行进行求和-

In [12]: (a > b[:,None]).sum(axis=1)
Out[12]: array([1, 1, 3])