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

How to search for number of values greater than given values for each row

例如,

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.newaxisb 扩展到 2D,这样每个元素都在一行中。然后与 a 进行比较,这将 broadcast 对每一行的所有列进行比较,然后对行求和 -

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