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

在pandas/python中计算df列中非零数的数目,python,numpy,pandas,Python,Numpy,Pandas,我有一个df,看起来像: abcde 0 1 2 3 5 1 4 0 5 2 5 8 9 6 0 45 0 0 0 我想输出c列中不是零的数字的数量。任何帮助都将不胜感激 使用双精度: 如果只需要计算列c或d: print (df['c'] != 0).sum() 2 print (df['d'] != 0).sum() 3 编辑:包含以下内容的解决方案: Numpy的count\u nonzero函数对此非常有效 np.count\u非零(df[“c”])这是有意义的,但如何仅对c列进行

我有一个df,看起来像:

abcde
0 1 2 3 5
1 4 0 5 2
5 8 9 6 0 
45 0 0 0

我想输出c列中不是零的数字的数量。任何帮助都将不胜感激

使用双精度:

如果只需要计算列
c
d

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

print (df['d'] != 0).sum()
3
编辑:包含以下内容的解决方案:


Numpy的
count\u nonzero
函数对此非常有效


np.count\u非零(df[“c”])

这是有意义的,但如何仅对c列进行计数?我不想要总数,我看到了,谢谢。不幸的是,他们的问题是不同的,因为他们希望每一行都有它,并且要除以总和,所以这里使用的代码都不适用于我的问题。顶部答案的第一行是“要计算非零值,只需执行
(column!=0)。sum()
,其中
column
是您要执行此操作的数据。”这似乎正是你要问的;-)
print (df['c'] != 0).sum()
2

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