ValueError: Input contains NaN, infinity or a value too large for dtype('float64')问题解决
来源:互联网 发布:云计算数据中心 编辑:程序博客网 时间:2024/05/18 14:42
问题背景
博主在调用sklearn.metrics.roc_auc_score()计算AUC时出现了这个报错
问题分析
错误提示说数据里面包含空值或者无穷大的数据,参与计算的两列数据有一列不是1就是0,另一列是楼主自己写的sigmoid函数计算出来的值,但是sigmoid函数不太可能算出无穷大的数值,所以关注是不是有哪个数出问题算出空值了。
- 先检查有哪些列存在空值
data = pd.read_csv('filename.csv') print(data.isnull().any())
打印出来下面的结果:
date Falsepredict Truetime Falsetrue_value Falsemeasure Falsedtype: bool
说明predict列存在空值,确实是sigmoid函数算出来的结果出了问题。
- 接下来我们可以查看出现空值的是哪些记录
predict_null = pd.isnull(data['predict'])data_null = data[predict_null == True]print(data_null)
打印出来下面的结果:
date predict time true_value301258 2017-08-22 07:14:31 NaN 2017-08-22 07:14:31 0 301259 2017-08-22 07:14:46 NaN 2017-08-22 07:14:46 0 301260 2017-08-22 07:15:01 NaN 2017-08-22 07:15:01 0 301261 2017-08-22 07:15:16 NaN 2017-08-22 07:15:16 0 301262 2017-08-22 07:15:31 NaN 2017-08-22 07:15:31 0
之后就可以到原始数据里找计算结果在哪里出错了。
博主出错的原因是输入sigmoid函数的中间计算结果存在除0的问题,所以在sigmoid计算之后返回了NaN,但是参与计算的是一列数,所以在程序运行过程中没有打印除0的报错。
阅读全文
0 0
- ValueError: Input contains NaN, infinity or a value too large for dtype('float64')问题解决
- ValueError: Input contains NaN, infinity or a value too large for dtype('float64').
- Input contains NaN, infinity or a value too large for dtype('float64')
- Kaggle-ValueError: Input contains NaN, infinity or a value too large for dtype('float32').
- Kaggle-ValueError: Input contains NaN, infinity or a value too large for dtype('float32').
- ValueError: Input contains NaN, infinity or a value too large for dtype('float32').
- ValueError: Input contains NaN, infinity or a value too large for dtype('float32'64). 一般处理方式
- ERROR spi.SqlExceptionHelper : 'Infinity' is not a valid numeric or approximate numeric value 问题解决
- ORA-12899: value too large for column
- Value too large for defined data type
- ORA-12899: value too large for column
- ORA-12899: value too large for...
- 【问题解决】Packet for query is too large (1165 > 1024). You can change this value
- How To Print a Form That Is Too Large for the Screen or Page
- TypeError: CudaNdarrayType only supports dtype float32 for now. Tried using dtype float64 for variab
- ORA-12899 – Value too large for column string
- goldengate ORA-12899: value too large for column
- gcc 编译错误 Value too large for defined data type
- 一步一步制作yaffs/yaffs2根文件系统(三)---使用glibc库构造 /lib
- 系统架构部分的总结和展望
- token
- GPS NMEA-0183标准详解(常用的精度以及经纬度坐标)
- 平台架构
- ValueError: Input contains NaN, infinity or a value too large for dtype('float64')问题解决
- IO多路复用之select、poll、epoll详解
- Webbench源码分析之多进程(三)
- Android studio 安装3.0遇到的坑
- Recycleview的adapter封装
- quartz.net 时间表达式----- Cron表达式详解
- 10025---Zookeeper入门:基本概念、5项配置、启动
- 问题 B: 求相邻逆序对个数(函数)
- 2017年12月21ri心得体会