我的df看起来像是:
recur
我想输出c列中非零的数字。任何帮助都会非常感激!
答案 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
如果您只需要计算列c
或d
:
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"])