RuntimeWarning: overflow encountered in long_scalars   h = 12.0 / (totaln * (totaln + 1)) * ssbn - 3

描述:

使用stats.kruskal()计算Kruskal-Wallis 秩和检验,数据量2042000条,所以计算的时候,警告内存溢出。

RuntimeWarning: overflow encountered in long_scalars   
h = 12.0 / (totaln * (totaln + 1)) * ssbn - 3

问题就出在 h = 12.0 / (totaln * (totaln + 1)) * ssbn - 3这一行代码,
(totaln * (totaln + 1)),计算的结果太大了,只需要更改运算顺序即可

h = 12.0 / (totaln * (totaln + 1)) * ssbn - 3 * (totaln + 1)  # 原代码

h = (ssbn / totaln) / (totaln + 1) * 12.0 - 3 * (totaln + 1)  # 修改了运算顺序

将原代码注释掉,更改为h = (ssbn / totaln) / (totaln + 1) * 12.0 - 3 * (totaln + 1)即可解决问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值