【问题标题】:How to replace NaN with a string value in pandas如何在熊猫中用字符串值替换 NaN
【发布时间】:2021-03-22 02:50:21
【问题描述】:

我正在从事 Kaggle 房价项目。 我已经尝试了几个小时来替换字符串列“BsmtQual”中的 NaN 值。 对于 SalePrice 小于 120000 且在 BsmtQual 列中具有 NaN 值的所有房屋,我想将其替换为“Fa”。

df 是我的数据框。

Fa_rng = df['SalePrice'] < 120000

我已经尝试了以下所有方法,但它们没有改变任何东西。

df.loc[Fa_rng,'BsmtQual'].fillna('Fa',inplace=True)
df.loc[Fa_rng,'BsmtQual'].replace('NaN','Fa',inplace=True)
df.loc[Fa_rng,'BsmtQual'].str.replace('NaN','Fa')

这会收到一条警告,说“试图在 DataFrame 的切片副本上设置一个值”并且什么都不做。

df.loc[(df['BsmtQual'].isna()) & (df['SalePrice'] < 120000)].fillna('Fa',inplace=True)

如何将 Pandas 中这些房屋的 NaN 值替换为“Fa”字符串?

【问题讨论】:

    标签: python pandas null


    【解决方案1】:

    不要使用inplace:

    df.loc[Fa_rng & df['BsmtQual'].isna(),'BsmtQual'] = 'Fa'
    

    【讨论】:

      猜你喜欢
      • 2019-05-09
      • 2019-04-24
      • 2017-03-12
      • 2021-11-12
      • 2020-12-20
      • 2019-06-03
      • 2021-08-15
      • 2012-11-06
      相关资源
      最近更新 更多