在pandas / python中计算df列中的非零数字的数量

时间:2016-01-23 20:03:22

标签: python numpy pandas

我的df看起来像是:

recur

我想输出c列中非零的数字。任何帮助都会非常感激!

2 个答案:

答案 0 :(得分:5)

使用双sum

print df
   a  b  c  d  e
0  0  1  2  3  5
1  1  4  0  5  2
2  5  8  9  6  0
3  4  5  0  0  0

print (df != 0).sum(1)
0    4
1    4
2    4
3    2
dtype: int64

print (df != 0).sum(1).sum()
14

如果您只需要计算列cd

print (df['c'] != 0).sum()
2

print (df['d'] != 0).sum()
3

编辑:numpy.sum的解决方案:

print ((df != 0).values.sum())
14

答案 1 :(得分:0)

numpy的count_nonzero函数对此非常有效。

np.count_nonzero(df["c"])