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

  统计/机器学习 Python    浏览次数:9163        分享
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读取csv中指定的某些列   2回答

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

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

找到pd.DataFrame中某个列名对应的下标?   1回答

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

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

pandas按照两列sort_values,一个升序一个降序   1回答

怎么删除pandas dataframe中index重复的行?   2回答

pandas DataFrame中经常出现SettingWithCopyWarning   2回答

怎么按照index对pd.DataFrame的行排序?   1回答

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

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



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

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

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

我们谢绝答非所问。

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

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