首页 > 解决方案 > Pandas int/null 问题:ValueError:int() 以 10 为底的无效文字:

问题描述

我的数据框中的下面的“总计”列包含带有额外 .0 (1.0,2.0..) 和 Null 值的整数。在将数据导出到 csv 之前,当执行下面的代码行时,它会抛出错误: ValueError: invalid literal for int() with base 10: ''

df['Total'] = df['Total'].astype('Int64')

如何处理具有 int & null 值的列。同时,如果我删除上述验证,总输出列将额外出现 .0(例如:11.0、199.0、33.0 等)。我想将纯 int/null 导出到我的 csv。非常感谢任何帮助。

标签: python-3.xpandas

解决方案


似乎有一些非数值,您可以尝试to_numericerrors='coerce'这些值转换为NaNs:

df['Total'] = pd.to_numeric(df['Total'], errors='coerce').astype('Int64')

推荐阅读