用NOT KNOWN替换nan

时间:2019-06-13 07:20:15

标签: python pandas

我有一个数据框(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是否有关?

有人可以给我指点吗?

谢谢

1 个答案:

答案 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'
相关问题