pandas读取csv文件进行处理时报错: TypeError: invalid type compariso

用pandas读取csv文件并对csv里面的数据进行处理的时候,有可能会遇到这样的错误:

TypeError: invalid type comparison
  • 1

无效的类型比较

这时可以去打印一下你的dataframe中的数据看看


1、可能有些条目中没有数据,打印时它会显示成nan,而nan是没有办法和任何数据进行比较的,它不和任何值相等,包括他自己(因此也可以用 a != a 来判断a是否是nan)。

所以在后面的数据处理中如果进行了比较操作则会报错:

TypeError: invalid type comparison
  • 1

办法,在读取csv的时候加上参数

keep_default_na=False
  • 1

这样没有数据的条目就会被识别为空字符’ ‘而不是nan了


2、可能你的dataframe中不同列的数据类型不一样,不如有的被识别为str,有的被识别为int,虽然它们看起来都是数字,但在后面进行比较的话也同样会报错

这时候可以加一个参数

converters={'from':str,'to':str} # 把from列和to列都转换为str类型
  • 1

converters的解释为:

converters : dict, default None 
Dict of functions for converting values in certain columns. Keys can either 
be integers or column labels

类型相同后就可以一起比较啦

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值