python-3.x - 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。非常感谢任何帮助。
解决方案
似乎有一些非数值,您可以尝试to_numeric
将errors='coerce'
这些值转换为NaN
s:
df['Total'] = pd.to_numeric(df['Total'], errors='coerce').astype('Int64')
推荐阅读
- git - 在我的 GitHub 上显示来自 GitLab 帐户的 git 贡献
- php - golang 相当于 PHP 的 unpack(“f”, $str) 是什么?
- apache - www 到我的网站中的非 www 重定向不起作用?
- c# - 在 Dynamics NAV 2018 中将值设置为数组
- javascript - 如何使用javascript(微软边缘浏览器)将表格html(数据和格式)复制到剪贴板
- vue.js - PWA 的浏览器缓存未针对重新生成的脚本进行刷新
- spring-boot - FF4J - Spring Boot - 自定义授权管理器
- javascript - Datepickk 库未使用 webpack 定义
- c# - HttpWebRequest 上传文件原因 操作超时 WebException
- laravel - 如何在 3 个表关系上连接外键