gpt4 book ai didi

python - numpy 中最接近的 0.2 倍数?

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

如何在 numpy 中将数字取整到最接近 0.2 的倍数?

例如,我有这个:

0.2 * np.floor(xi / 0.2)

它在大多数情况下都有效,例如

>>> xi = 9.4
>>> 0.2 * np.floor(xi / 0.2)
9.4

但是,对于某些数字,例如 9.6,它会失败

>>> xi = 9.6
>>> 0.2 * np.floor(xi / 0.2)
9.4

我预计之前的计算会返回 9.4。

我该如何解决这个问题?

最佳答案

这是因为浮点格式 - 请注意 9.6/0.2 返回 47.9999999...

这里和那里进行一些舍入就可以了:

round(0.2*np.floor(round(xi / 0.2,2)),1)

内部四舍五入为小数点后两位,以确保您不会失去精度,并且仍然有一些不足之处。外圆是 - 因此您将正确舍入到 0.2 (而不是例如 9.6000...1)

关于python - numpy 中最接近的 0.2 倍数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60470225/

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