gpt4 book ai didi

python - pandas数据框浮点问题

转载 作者:太空宇宙 更新时间:2023-11-03 14:25:47 26 4
gpt4 key购买 nike

我有一列包含浮点值,例如 600.0750、600.2274、600.3798、600.5322。我将这些值四舍五入到小数点后 3 位,然后应用 diff() 函数到给我值 0.1524,0.15240.1524 的列。为了从输出中删除重复项,我应用了 drop_duplicates。我本以为只能看到 0.1524,但实际上我得到了 0.1524,0.1524,0.1524

因此,我将输出值存储在另一个数据帧 df_diff 中,并执行 df_diff.iloc[2] ,这给了我 0.15239999999994325df_diff.iloc[3 ] 我得到0.15240000000005693

我回去对原始 df 执行相同的操作,得到 600.07500000000005。因此,即使我进行四舍五入,这些值也不会四舍五入。我可以做什么来解决这个问题?

谢谢

最佳答案

您说您四舍五入到小数点后三位,但您的数字有四位。以下假设四是正确的数字。

有多种选择。首先,您可以尝试在尝试删除重复项之前不要舍入。如果这不起作用,并且您不太关心要舍入的精确精度级别,则可以舍入到 2 的幂,例如 2**14。第二种选择是使用 https://docs.python.org/2/library/fractions.html模块。第三种选择是将数字乘以 10000,然后四舍五入为整数。如果你想要恢复原来的数字,那么你可以再次将它们除以 10000。

关于python - pandas数据框浮点问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47643785/

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