Python,如何使用字典

时间:2017-06-11 00:44:21

标签: python pandas dictionary dataframe fillna

我有一个像这样的数据框

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

和字典dc类似

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

我想使用字典中列B的值填充数据框C列中的所有空值。这样我的数据框就会变成

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

有人可以帮我解决这个问题吗?

感谢, Manoj

2 个答案:

答案 0 :(得分:5)

您可以fillna使用map

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

答案 1 :(得分:3)

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