【发布时间】: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”字符串?
【问题讨论】: