我有表x
:
website
0 http://www.google.com/
1 http://www.yahoo.com
2 None
我想用panda NaN代替python None。我试过了:
x.replace(to_replace=None, value=np.nan)
但我得到了:
TypeError: 'regex' must be a string or a compiled regular expression or a list or dict of strings or regular expressions, you passed a 'bool'
我该怎么做?
7条答案
按热度按时间monwx1rj1#
可以使用
DataFrame.fillna
或Series.fillna
来替换Python对象None
,而不是字符串'None'
。对于 Dataframe :
对于列或系列:
djmepvbi2#
这里有另一个选项:
fquxozlt3#
下行会将
None
取代为NaN
:ffx8fchx4#
如果你使用df.replace([None],np.nan,inplace=True),这会将所有缺少数据的datetime对象更改为对象dtype。因此,现在你可能会破坏查询,除非你将它们更改回datetime,这可能会根据你的数据大小而增加负担。
如果要使用此方法,可以首先确定df中的对象dtype字段,然后将“None:
qrjkbowd5#
这是一个老问题,但这里是一个多列的解决方案:
有关更多选项,请查看文档:
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.fillna.html
piztneat6#
o2rvlv0m7#
此解决方案非常简单,因为可以轻松替换所有列中的值。
您可以使用
dict
: