【发布时间】:2018-10-08 19:11:13
【问题描述】:
我发布这个我认为是答案,因为我在这里找不到类似的问题答案。
我预计 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)有关吗?
【问题讨论】:
-
感谢@root。无论出于何种原因,当我搜索这个问题时,现有的问题都没有出现 - 甚至在我写这个问题时也没有出现在类似帖子的列表中。