[英]Pandas Fill Column with Dictionary
我有一個像這樣的數據框:
A B C D
0 1 0 nan nan
1 8 0 nan nan
2 8 1 nan nan
3 2 1 nan nan
4 0 0 nan nan
5 1 1 nan nan
我有這樣的字典:
dc = {'C': 5, 'D' : 10}
我想用字典填充數據幀中的nan
值,但僅對於其中B列值為0的單元格來說,我想獲得以下信息:
A B C D
0 1 0 5 10
1 8 0 5 10
2 8 1 nan nan
3 2 1 nan nan
4 0 0 5 10
5 1 1 nan nan
我知道如何對數據框進行子集化,但是我找不到用字典填充值的方法; 有任何想法嗎?
您可以在loc
使用fillna
其字典傳遞給它:
In [13]: df.loc[df.B==0,:].fillna(dc)
Out[13]:
A B C D
0 1 0 5 10
1 8 0 5 10
4 0 0 5 10
要為您的數據框執行此操作,您需要使用相同的掩碼進行切片,並將上面的結果分配給它:
df.loc[df.B==0, :] = df.loc[df.B==0,:].fillna(dc)
In [15]: df
Out[15]:
A B C D
0 1 0 5 10
1 8 0 5 10
2 8 1 NaN NaN
3 2 1 NaN NaN
4 0 0 5 10
5 1 1 NaN NaN
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.