【问题标题】:Python, how to fill nulls in a data frame using a dictionaryPython,如何使用字典填充数据框中的空值
【发布时间】: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

谁能帮我做一下吗?

谢谢, 马诺伊

【问题讨论】:

    标签: python pandas dictionary dataframe fillna


    【解决方案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'])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-20
      • 2018-05-07
      • 2020-11-06
      • 1970-01-01
      • 2015-12-20
      • 2015-05-08
      • 2018-09-27
      • 2017-05-22
      相关资源
      最近更新 更多