pandas报错ValueError: Cannot convert non-finite values (NA or inf) to integer

  统计/机器学习 Python    浏览次数:18137        分享
0

我用df['col'].astype(int)转换成int类型时候,出现了以下错误

ValueError: Cannot convert non-finite values (NA or inf) to integer

应该是原数据中含有nan或者inf导致的,我想要得到整数型有什么解决办法呢?

 

vivian_o   2018-11-24 13:39



   1个回答 
4

np.nan或者np.inf都是float的类型,而且无法转成int,所以就报错了

建议把nan或者inf替换成0之类的

df.replace(np.nan, 0, inplace=True)
df.replace(np.inf, 0, inplace=True)


SofaSofa数据科学社区DS面试题库 DS面经

zl_pku   2018-11-25 22:18



  相关主题

pandas中某列中数字后边有 亿/万这种单位 如何处理   1回答

pandas同时返回一个dataframe的前几行(head)和后几行(tail)   2回答

pandas怎么按照groupby串联字符串?   2回答

pandas DataFrame中经常出现SettingWithCopyWarning   2回答

怎么利用pandas新建一个只有列名的空的dataframe?   1回答

怎么提取pandas dataframe中某一列每个字符串的前n个字符?   1回答

怎么利用pandas获得一个列联表(contingency table)?   1回答

如何清空pandas dataframe里的全部数据但是保留列名?   3回答

pandas读取文件的前几行   1回答

pandas读取文件夹中所有的csv文件   1回答

pandas数据列顺序不同进行concat   1回答

把pandas df写入csv时UnicodeEncodeError   1回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!