簡體   English   中英

如何用 pandas 中的字符串值替換 NaN

[英]How to replace NaN with a string value in pandas

我正在從事 Kaggle 房價項目。 我已經嘗試了幾個小時來替換字符串列“BsmtQual”中的 NaN 值。 對於在 BsmtQual 列中具有 NaN 值的 SalePrice 小於 120000 的所有房屋,我想將其替換為“Fa”。

df 是我的 dataframe。

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')

這會收到一條警告,說“試圖在數據幀的切片副本上設置一個值”並且什么都不做。

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

如何將這些房屋的 pandas 中的 NaN 值替換為“Fa”字符串?

不要inplace使用:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM