簡體   English   中英

熊貓用字典填充列

[英]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.

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