2016-11-28 39 views
2

のデータフレームをカウントまたは合計すると、データフレームの行数のカウントを見つける方法を見つけようとしています。ここPandas Dataframeを使用して列数が

は私のDFここ

index col1 col2 col3 col4 col5 col6 col7 col8 
    0  1  0 2 3  1 0 0 0 
    1  0  0 0 1  2 0 2 0 
    2  3  0 0 0  1 0 0 1 
    3  1  0 0 0  1 1 1 0 
    4  1  0 2 3  1 0 0 0 
    5  3  0 0 0  1 0 0 1 

である私は、このような

index col1 col2 col3 col4 col5 col6 col7 col8 
    0  1  0 2 3  1 0 0 0 
    1  0  0 0 1  2 0 2 0 
    2  3  0 0 0  1 0 0 1 
    3  1  0 0 0  1 1 1 0 
    4  1  0 2 3  1 0 0 0 
    5  3  0 0 0  1 0 0 1 
----------------------------------------------- 
Total 5  0 2 3  6 1 2 2 

答えて

4

下のあなたは0との比較により作成されたboolean masksumを使用することができますように、私の列のカウントに別の行を追加したいと思います。 DataFrameの最後の行にlocによって割り当て出力:DataFrame.ne

print (df != 0) 
     col1 col2 col3 col4 col5 col6 col7 col8 
index              
0  True False True True True False False False 
1  False False False True True False True False 
2  True False False False True False False True 
3  True False False False True True True False 
4  True False True True True False False False 
5  True False False False True False False True 

df.loc['total'] = (df != 0).sum() 
print (df) 
     col1 col2 col3 col4 col5 col6 col7 col8 
index             
0   1  0  2  3  1  0  0  0 
1   0  0  0  1  2  0  2  0 
2   3  0  0  0  1  0  0  1 
3   1  0  0  0  1  1  1  0 
4   1  0  2  3  1  0  0  0 
5   3  0  0  0  1  0  0  1 
total  5  0  2  3  6  1  2  2 

同様溶液:

df.loc['total'] = df.ne(0).sum() 
print (df) 
     col1 col2 col3 col4 col5 col6 col7 col8 
index             
0   1  0  2  3  1  0  0  0 
1   0  0  0  1  2  0  2  0 
2   3  0  0  0  1  0  0  1 
3   1  0  0  0  1  1  1  0 
4   1  0  2  3  1  0  0  0 
5   3  0  0  0  1  0  0  1 
total  5  0  2  3  6  1  2  2 
関連する問題