最佳答案
有没有什么方法可以在 Python 中用 None
代替熊猫中的值?
您可以使用 df.replace('pre', 'post')
并且可以用另一个值替换一个值,但是如果您想用 None
值替换这个值,那么这是不可能的,如果您尝试用 None
值替换,您将得到一个奇怪的结果。
举个例子:
df = DataFrame(['-',3,2,5,1,-5,-1,'-',9])
df.replace('-', 0)
它返回一个成功的结果。
但是,
df.replace('-', None)
返回以下结果:
0
0 - // this isn't replaced
1 3
2 2
3 5
4 1
5 -5
6 -1
7 -1 // this is changed to `-1`...
8 9
为什么会有这样奇怪的结果?
因为我想把这个数据帧注入到 MySQL 数据库中,所以我不能把 NaN
值注入到数据帧中的任何元素中,而是想把 None
值注入到数据帧中。当然,您可以首先将 '-'
改为 NaN
,然后将 NaN
转换为 None
,但是我想知道为什么数据帧的行为如此糟糕。
在 Pandas 0.12.0 dev 上在 Python 2.7和 OS X 10.8上进行了测试 在 OS X 上预装的版本,我用 SciPy 安装了熊猫 超级包脚本,告诉你。