gpt4 book ai didi

python - 当小数>=1时,pandas/numpy round()如何工作?

转载 作者:行者123 更新时间:2023-12-01 00:59:56 25 4
gpt4 key购买 nike

我有一个 Pandas 系列

In [1]: import pandas as pd
In [2]: s = pd.Series([1.3, 2.6, 1.24, 1.27, 1.45])

我需要对数字进行四舍五入。

In [4]: s.round(1)
Out[4]:
0 1.3
1 2.6
2 1.2
3 1.3
4 1.4
dtype: float64

适用于1.27,但是1.45四舍五入为1.4,是不是float类型精度损失的问题?如果是的话,我该如何处理这个问题?

最佳答案

This isn't a bug but it is because, most decimal numbers cannot be represented exactly as a float.

https://www.programiz.com/python-programming/methods/built-in/round

另一种舍入方式是:

int(number*10^precission+0.5)

但是,您可能会遇到类似的问题,因为谁知道 1.45 是否更接近 1.4499999.. 还是 1.4500...1

关于python - 当小数>=1时,pandas/numpy round()如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55888471/

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