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

  统计/机器学习 Python    浏览次数:26212        分享
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.DataFrame的index重新排列(从0开始)

pandas新建一个只有一行的dataframe时结果返回空的dataframe

怎么删除pandas数据框指定的第k行?

pandas df.head()报错AttributeError: 'NoneType' object has no attribute 'head'

将pandas.DataFrame中的-1全部换成0

1000万行的pandas dataframe求和很慢

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

pandas的DataFrame如何插入带有index的行数据?

pandas dataframe 乘法得到nan

怎么把一个pandas数据框用append的方式添加到现有的csv文件?

  随便看看

Random Forest可以用来做聚类?

micro和macro F1 score分别是什么意思?

除了PCA,还有什么降维的方法?

行数很多的pandas DataFrame如何在jupyter中完整显示?

laplace光滑什么意思