簡體   English   中英

熊貓DataFrame-每行計數0

[英]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數據框,然后使用sumaxis=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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM