Python 使用Pandas中的fillna()方法替换列中的特定字符串值

Python 使用Pandas中的fillna()方法替换列中的特定字符串值,python,pandas,numpy,data-structures,Python,Pandas,Numpy,Data Structures,我有一个特定的列(该列称为“数字”),它输出如下所示的唯一值: df.numbers.unique() 输出: ([nan, '50', '22', '11', '46', '58', '22', '14', '18', '15', '33', 'XX'], dtype=object) 如上所示,存在诸如“XX”之类的未识别字符。我希望将它们转换为“NaN”值。我尝试使用以下代码替换这些代码: df.numbers.replace('XX',np.NaN) 但是,当我再次打印列中的唯一值

我有一个特定的列(该列称为“数字”),它输出如下所示的唯一值:

df.numbers.unique()
输出:

([nan, '50', '22', '11', '46', '58', '22', '14', '18', '15', '33', 'XX'], dtype=object)
如上所示,存在诸如“XX”之类的未识别字符。我希望将它们转换为“NaN”值。我尝试使用以下代码替换这些代码:

 df.numbers.replace('XX',np.NaN)
但是,当我再次打印列中的唯一值时。“XX”仍然在那里。我希望去掉“XX”而代之以“NaN”。 我只是想知道为什么它不起作用。
将不胜感激。提前谢谢

我想你只是忘了把它分配回去

df.numbers=df.numbers.replace('XX',np.NaN)

我想你只是忘了把它还给我

df.numbers=df.numbers.replace('XX',np.NaN)

如何定义“未识别”字符?“33”和“XX”都是两个字符串。嗯,似乎我需要先转换列的数据类型,然后再转换它。让我改变一下问题@DyZOr你能帮我回答一下吗@DYZI如果要替换特定值,请使用
df.numbers[df.numbers=='XX']=np.nan
。啊,是的。那么,首先替换“XX”,然后转换列?如何定义“未识别”字符?“33”和“XX”都是两个字符串。嗯,似乎我需要先转换列的数据类型,然后再转换它。让我改变一下问题@DyZOr你能帮我回答一下吗@DYZI如果要替换特定值,请使用
df.numbers[df.numbers=='XX']=np.nan
。啊,是的。那么,首先替换“XX”,然后转换列?这似乎可行。谢谢我想将该列转换为另一种数据类型如何才能做到这一点?这会影响它吗?@DeepakM df.number=pd.to_numeric(df.number)这似乎有效。谢谢我想将该列转换为另一种数据类型如何才能做到这一点?这会影响它吗?@DeepakM df.number=pd.to_numeric(df.number)