首页 > 解决方案 > 如何在ndarray中明智地计算特定元素的行/列?

问题描述

我有一个 numpy 数组:

[0, 0, 0, 1, 0, 1]
[1, 0, 0, 0, 0, 1]
[1, 0, 0, 0, 0, 1]

是否有任何 numpy 函数可以计算每行(或列)中的 0(或任何其他元素)?例如

[4]
[3]
[4]

标签: pythonpython-3.xnumpynumpy-ndarray

解决方案


sum在布尔掩码数组上使用

(arr == number).sum(1)

>>> (arr == 0).sum(1)
array([4, 4, 4])

>>> (arr == 1).sum(1)
array([2, 2, 2])

总能在最后重塑

>>> (arr == 0).sum(1).reshape(-1,1)
array([[4],
       [4],
       [4]])

推荐阅读