在大熊猫/ A DF蟒蛇
问题描述:
我有一个DF,看起来像一列计数非零数字的个数:在大熊猫/ A 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
如果您需要数仅列c
或d
:
print (df['c'] != 0).sum()
2
print (df['d'] != 0).sum()
3
编辑:解numpy.sum
:
print ((df != 0).values.sum())
14
+0
这是有道理的,但我怎么做只为列c?我不想要总数。 – user5826447
+0
很高兴能帮到你!祝你好运!你可以[接受](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)和[投票](http://stackoverflow.com/tour)回答。谢谢。 – jezrael
我看到了,谢谢。不幸的是,他们的问题是不同的,因为他们希望每行都有它,并且除以总和,所以没有那里使用的代码适用于我的问题。 – user5826447
顶部答案的第一行显示“要计算非零值,只需执行'(column!= 0).sum()',其中'column'是要执行此操作的数据。这似乎正是你所要求的;-) –