我有一个数据框(df
)如下:
ColumnA
0 1
1 1
2 1
3 nan
4 1
我正在尝试将nan
替换为NOT KNOWN
。因此输出如下:
ColumnA
0 1
1 1
2 1
3 NOT KNOWN
4 1
但是我正在努力使它起作用。
我尝试了以下操作但未成功:
df["ColumnA"].replace(np.nan,"NOT KNOWN", inplace=True)
df["ColumnA"] = df["ColumnA"].replace(np.nan, 'NOT KNOWN', regex=True)
df["ColumnA"] = df["ColumnA"] .fillna('NOT KNOWN')
df["ColumnA"] = df["ColumnA"].replace('', 'NOT KNOWN', regex=True)
我不知道它与我要替换的是nan
而不是NaN
是否有关?
有人可以给我指点吗?
谢谢
答案 0 :(得分:2)
我认为nan
是字符串(由于问题代码失败),请使用:
df["ColumnA"] = df["ColumnA"].replace('nan', 'NOT KNOWN')
或者使用带有inplace
参数的解决方案,谢谢@Jon Clements:
df['ColumnA'].replace('nan', 'NOT KNOWN', inplace=True)
df.loc[df['ColumnA'] == 'nan', 'ColumnA'] = 'NOT KNOWN'