微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

对于一个数据帧列,从十六进制 str 转换为 int 失败,而它适用于另一个带有“TypeError”

如何解决对于一个数据帧列,从十六进制 str 转换为 int 失败,而它适用于另一个带有“TypeError”

我正在读取一个 csv 文件,其中两列是“开始”和“结束”。两列都包含大的十六进制值。由于两列都是字符串格式,我将它们转换为 int 以便我可以在 start[i+1]end[i] 之间执行减法。

data['start_int'] = data['start'].apply(int,base=16)
data['end_int']   = data['end'].apply(int,base=16)

我看到以下错误列“开始”,而它对列“结束”工作正常。

TypeError: int() 不能用显式基数转换非字符串

isinstance(start[0],str)真实

isinstance(end[0],str)真实

开始和结束列的初始几行。

start                                             end 
0                                                 030C30C30C30C30C30C30C30C30C30C30C30C30C30C30C2F 
030C30C30C30C30C30C30C30C30C30C30C30C30C30C30C30  61900000000000000000000000000000000000000000000 
61900000000000000000000000000000000000000000000   92500000000000000000000000000000000000000000000

我不明白为什么 python 只对一列抱怨,而对另一列有效。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。