[英]Pandas DataFrame - count 0s in every row
我有看起來像這樣的數據框
x = pd.DataFrame.from_dict({'A':[1,2,0,4,0,6], 'B':[0, 0, 0, 44, 48, 81], 'C':[1,0,1,0,1,0]})
(假設它可能還有其他列)。 我想添加一列,該列為每一行指定特定列A,B,C中有多少個0。
A B C num_zeros
0 1 0 1 1
1 2 0 0 2
2 0 0 1 2
3 4 44 0 1
4 0 48 1 1
5 6 81 0 1
使用==
創建一個布爾型dtype數據框,然后使用sum
和axis=1
:
x['num_zeros'] = (x == 0).sum(1)
輸出:
A B C num_zeros
0 1 0 1 1
1 2 0 0 2
2 0 0 1 2
3 4 44 0 1
4 0 48 1 1
5 6 81 0 1
現在,如果您要顯式定義哪些列,即...在B和C列中的計數,則可以使用以下方法:
x['Num_zeros_in_BC'] = (x == 0)[['B','C']].sum(1)
輸出:
A B C num_zeros Num_zeros_in_BC
0 1 0 1 1 1
1 2 0 0 2 2
2 0 0 1 2 1
3 4 44 0 1 1
4 0 48 1 1 0
5 6 81 0 1 1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.