gpt4 book ai didi

百分位数方法的 Python numpy 升级失败测试

转载 作者:行者123 更新时间:2023-12-01 15:19:15 33 4
gpt4 key购买 nike

当我将 numpy 版本从 1.11.3 更新到 1.16.5 时,我的测试失败了,因为两者之间的分数差异通过 percentile 方法计算的值。

numpy = 1.11.3

import numpy as np
print (np.percentile([1.0, 0.0, 0.0, 0.0], [15.0, 85.0])[1])
> 0.54999999999999982

numpy = 1.16.5

import numpy as np
print (np.percentile([1.0, 0.0, 0.0, 0.0], [15.0, 85.0])[1])
> 0.5499999999999998

我正在寻找导致失败的更改的答案,我想了解升级,以便一旦发布到产品,我就不会得到意想不到的结果。

谢谢。

最佳答案

实际上你的测试没问题,你只是打印了两种不同的精度

import numpy as np
print (np.percentile([1.0, 0.0, 0.0, 0.0], [15.0, 85.0])[1])
> 0.54999999999999982 # has 17 decimal places
import numpy as np
print (np.percentile([1.0, 0.0, 0.0, 0.0], [15.0, 85.0])[1])
> 0.5499999999999998 # has only 16

实际值确实是 0.5499999999999982236。所以你的测试没问题。

为确保使用 numpy 进行的数字测试按预期工作,您可以使用 np.set_printoptions(precision=20) 设置打印值的精度。

关于百分位数方法的 Python numpy 升级失败测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59173705/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com