【问题标题】:How to replace nan by dictionary in pandas dataframe column如何在 pandas dataframe 列中用字典替换 nan
【发布时间】:2023-01-24 14:20:42
【问题描述】:

我想用这样的字典替换数据框列中的 NaN:{"value":["100"]}

df[column].apply(type).value_counts()

输出:

<class 'dict'>     11565
<class 'float'>       43


df[column].isna().sum()

输出=> 43

我怎样才能做到这一点?

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    使用 lambda 函数替换为字典:

    df = pd.DataFrame({'column':[np.nan, {'a':[4,5]}]})
    
    d = {"value":["100"]}
    df['column'] = df['column'].apply(lambda x: d if pd.isna(x) else x)
    print (df)
                   column
    0  {'value': ['100']}
    1       {'a': [4, 5]}
    

    或列表理解:

    df['column'] = [d if pd.isna(x) else x for x in df['column']]
    

    【讨论】:

      猜你喜欢
      • 2020-04-02
      • 1970-01-01
      • 2018-11-14
      • 2017-09-08
      • 1970-01-01
      • 2023-03-31
      • 1970-01-01
      • 2013-09-12
      相关资源
      最近更新 更多