首页 > 解决方案 > 数字小数舍入在 Pandas 中无法正常工作

问题描述

我只想保留列中值的 3 位小数。但它不能正常工作。

输入数据

td['latitude']    
    2.999852
    2.999852
    2.714852
    4.998789
    4.999789

我的代码

dd = round(td['latitude'], 3)

电流输出

dd
3.0
3.0
2.714
5.0
5.0

预期产出

dd
2.999
2.999
2.714
4.998
4.9997

我的代码有什么问题。如何解决这个问题。

标签: pythonpandasnumpydataframe

解决方案


我的代码有什么问题round是圆形的,即返回最接近的整数/精度round(1.66, 1) = 1.7

如何解决这个问题:我记得一些带有截断的问题/答案,但通过简单的搜索无法找到它们。所以这里有一个快速的解决方案:

td['latitude'] // 0.001 * 0.001

输出:

0    2.999
1    2.999
2    2.714
3    4.998
4    4.999

推荐阅读