2016-01-23 181 views
1

我有一個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不是零。任何幫助將非常感激!

+0

我看到了,謝謝。不幸的是,他們的問題是不同的,因爲他們希望每行都有它,並且除以總和,所以沒有那裏使用的代碼適用於我的問題。 – user5826447

+1

頂部答案的第一行顯示「要計算非零值,只需執行'(column!= 0).sum()',其中'column'是要執行此操作的數據。這似乎正是你所要求的;-) –

回答

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 

如果您需要數僅列cd

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