dataframe数据报NaN和infinite错误
问题描述:
ValueError: Input contains NaN, infinity or a value too large for dtype('float64').
分析问题:
开始以为是输入数据的问题,经过反复修改输入数据,发现问题依然存在。于是想看看报错处的数据长什么样:
发现输入数据确实存在nan值,进一步分析发现是由分箱范围不当引起的
解决问题:
问题总结:
从上面示例可以看出,按区间划分数据是左开右闭的,data数据中的0值没有没有进行转换,从而变成NaN值了,如果我们把区间往左边扩展一个区域:
此时NaN值消失了。
查一下cut的用法:
有一个right参数控制有边界是开还是闭。