2017-06-11 32 views
3

我有一個數據幀DF像這樣Python中,如何使用字典

A  B  C 
1  'x' 15.0 
2  'y' NA 
3  'z' 25.0 

和詞典DC類似

dc = {'x':15,'y':35,'z':25} 

我想填補所有空填寫一個數據幀空在數據幀的列C中使用字典中列B的值。所以我的數據幀將變成

A  B  C 
1  'x' 15 
2  'y' 35 
3  'z' 25 

任何人都可以幫我怎麼做,請嗎?

感謝, 馬諾

回答

4

您可以使用fillnamap

dc = {'x':15,'y':35,'z':25} 

df['C'] = df.C.fillna(df.B.map(dc)) 
df 
# A B  C 
#0 1 x 15.0 
#1 2 y 35.0 
#2 3 z 25.0 
+2

我最喜歡的一個 – piRSquared

3
df['C'] = np.where(df['C'].isnull(), df['B'].apply(lambda x: dc[x]), df['C'])