python怎么检查dataframe 含有none值_关于python:在Pandas DataFrame中用None替换无效值...

在Python的Pandas中,是否有任何方法可以用None替换值?

您可以使用df.replace('pre', 'post')并将其替换为另一个值,但是如果要替换为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,但是我想知道为什么数据帧以这种可怕的方式起作用。

Tested on pandas 0.12.0 dev on Python 2.7 and OS X 10.8. Python is a

pre-installed version on OS X and I installed pandas by using SciPy

Superpack script, for your information.

write_frame是否不将NaN s解析为none s?

对。 您遇到InternalError: (1054, u"Unknown column nan in field list")错误。 除了执行write_frame方法之前将NaN转换为none之外,我不知道其他解决方案。

您使用的是哪个版本的熊猫?

Scipy Super Pack发布了dev? 好的,我绝对认为您应该在github上将此问题提出来,不应太难解决。

如果要从CSV / Excel读取此数据,则可以使用na_values参数以NaN的形式读取这些值。 此答案中的更多信息。

实际上,在更高版本的熊猫中,

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值