use*_*447 4 python numpy pandas
我有一个看起来像这样的df:
a b c d e
0 1 2 3 5
1 4 0 5 2
5 8 9 6 0
4 5 0 0 0
我想输出列c中不为零的数字.任何帮助将非常感激!
使用双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
Run Code Online (Sandbox Code Playgroud)
如果您只需要计数列c或d:
print (df['c'] != 0).sum()
2
print (df['d'] != 0).sum()
3
Run Code Online (Sandbox Code Playgroud)
编辑:解决方案numpy.sum:
print ((df != 0).values.sum())
14
Run Code Online (Sandbox Code Playgroud)