您现在的位置是:网站首页> 编程资料编程资料
Pandas中inf值替换的方法_python_
2023-05-26
403人已围观
简介 Pandas中inf值替换的方法_python_
使用Pandas从MySQL读取数据,在处理之后再写回到数据库时报了一个错误:
sqlalchemy.exc.ProgrammingError: (MySQLdb._exceptions.ProgrammingError) inf can not be used with MySQL
很明确报错说明,是因为DataFrame中存在inf数据
出现inf的原因
在数据处理过程中用到了除法,并且出现了除数为0,导致出现inf,而数据库不支持写入该值
说明,np.inf为正无穷,-np.inf为负无穷
解决办法
将处理过之后的DataFrame中的inf值替换掉,替换代码:
df = df.replace([np.inf, -np.inf], np.nan)
上述代码将处理结果中的正无穷和负无穷都替换为空值,最后写入到数据为中的为null值
PS:为了方便后续处理,可以利用numpy,将这些inf值进行替换。
1. 将某1列(series格式)中的 inf 替换为数值。
import numpy as np df['Col'][np.isinf(df['Col'])] = -1
2. 将某1列(series格式)中的 inf 替换为NA值。
import numpy as np df['Col'][np.isinf(df['Col'])] = np.nan
3. 将整个DataFrame中的 inf 替换为数值(空值同理)。#感谢评论区的补充
import numpy as np df.replace(np.inf, -1) #替换正inf为-1 #替换正负inf为NA,加inplace参数 df.replace([np.inf, -np.inf], np.nan, inplace=True)
到此这篇关于Pandas中inf值替换的方法的文章就介绍到这了,更多相关Pandas inf值替换内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
您可能感兴趣的文章:
相关内容
- Pandas数据集的分块读取的实现_python_
- 利用Python批量导出mysql数据库表结构的操作实例_python_
- Python中不同图表的数据可视化的实现_python_
- Pandas中的unique()和nunique()区别详解_python_
- Python实现梯度下降法的示例代码_python_
- Pygame transform模块入门介绍_python_
- 详解opencv去除背景算法的方法比较_python_
- OpenCV黑帽运算(BLACKHAT)的使用_python_
- 十一个案例带你吃透Python函数参数_python_
- Blender Python编程快速入门教程_python_
