gpt4 book ai didi

python - 为什么 Pandas 舍入方法不将 0.5 舍入到 1?

转载 作者:行者123 更新时间:2023-12-04 12:25:42 28 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Python 3.x rounding behavior

(11 个回答)


3年前关闭。




我用我认为的答案发布了这个,因为我在这里找不到类似的问题答案。

我期待 Pandas round方法将 0.5 舍入到 1。

>>> import pandas as pd
>>> pd.Series([0.5, 1.5, 2.5, 3.5, 4.5]).round()
0 0.0
1 2.0
2 2.0
3 4.0
4 4.0
dtype: float64

更奇怪的是:Python 的 round 方法在 Python 2.7 和 3.6 中有不同的行为:

Python 2.7:
>>> [round(x) for x in [0.5, 1.5, 2.5, 3.5, 4.5]]
[1.0, 2.0, 3.0, 4.0, 5.0]

python 3.6:
>>> [round(x) for x in [0.5, 1.5, 2.5, 3.5, 4.5]]
[0, 2, 2, 4, 4]

这与浮点表示或我的平台(Mac OS X)有关吗?

最佳答案

我相信在这种情况下,它实际上是 python 中的预期行为,而不是浮点问题。看着documentation :

if two multiples are equally close, rounding is done toward the even choice (so, for example, both round(0.5) and round(-0.5) are 0, and round(1.5) is 2)

关于python - 为什么 Pandas 舍入方法不将 0.5 舍入到 1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52708660/

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