Python,如何使用字典填充数据框中的空值

Posted

技术标签:

【中文标题】Python,如何使用字典填充数据框中的空值【英文标题】:Python, how to fill nulls in a data frame using a dictionary 【发布时间】:2017-11-12 17:54:52 【问题描述】:

我有一个类似这样的数据框 df

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

谁能帮我做一下吗?

谢谢, 马诺伊

【问题讨论】:

【参考方案1】:

您可以将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】:
df['C'] = np.where(df['C'].isnull(), df['B'].apply(lambda x: dc[x]), df['C'])

【讨论】:

以上是关于Python,如何使用字典填充数据框中的空值的主要内容,如果未能解决你的问题,请参考以下文章

R中 如何将数据框中的空值显示为NA

用python.检查“影片名称”字段为空值的+数据,给该字段填充数+据"unnamed"?

数据库中的空值与NULL的区别以及python中的NaN和None

数据库中的空值与NULL的区别以及python中的NaN和None

数据库中的空值与NULL的区别以及python中的NaN和None

如何在 PySpark 中用该列的第一个非空值填充该列的空值