如何计算numpy数组的零行数?
array = np.asarray([[1,1],[0,0],[1,1],[0,0],[0,0]])
- >有三行全为零,因此应该给3
我花了一些时间来弄清楚这一个,也找不到SO的答案
答案 0 :(得分:4)
你也可以利用"真实性"数组中的非零值
ggplot2
,即对所有行中没有值为真的行进行求和(因此全部为零)
答案 1 :(得分:1)
如果您确定这些行全部为零,则可以使用np.all
。
# number of rows which has non-zero elements
In [33]: sum(np.all(arr, axis=1))
Out[33]: 2
# invert the mask to get number of rows which has all zero as its elements
In [34]: sum(~np.all(arr, axis=1))
Out[34]: 3
答案 2 :(得分:0)
import numpy as np
array = np.array([[1,1],[0,0],[1,1],[0,0],[0,0]])
non_zero_rows = np.count_nonzero((array != 0).sum(1)) # gives 2
zero_rows = len(array) - non_zero_rows # gives 3
有更好的解决方案吗?