问题描述:

    dataframe数据报NaN和infinite错误

    ValueError: Input contains NaN, infinity or a value too large for dtype('float64').

 

分析问题:

    开始以为是输入数据的问题,经过反复修改输入数据,发现问题依然存在。于是想看看报错处的数据长什么样:

    dataframe数据报NaN和infinite错误

    dataframe数据报NaN和infinite错误

    发现输入数据确实存在nan值,进一步分析发现是由分箱范围不当引起的

    dataframe数据报NaN和infinite错误

 

解决问题:

    dataframe数据报NaN和infinite错误

 

问题总结:

    dataframe数据报NaN和infinite错误

    从上面示例可以看出,按区间划分数据是左开右闭的,data数据中的0值没有没有进行转换,从而变成NaN值了,如果我们把区间往左边扩展一个区域:

    dataframe数据报NaN和infinite错误

    此时NaN值消失了。

    查一下cut的用法:

    dataframe数据报NaN和infinite错误

    有一个right参数控制有边界是开还是闭。

    dataframe数据报NaN和infinite错误

相关文章:

  • 2022-12-23
  • 2021-07-18
  • 2021-10-23
  • 2022-12-23
  • 2021-05-07
  • 2021-06-09
  • 2021-07-23
  • 2022-12-23
猜你喜欢
  • 2021-08-23
  • 2022-01-10
  • 2021-05-21
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案