在pandas/python中计算df列中非零数的数目
我有一个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列进行
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