【问题标题】:Numerical decimal rounding not working correctly in Pandas [duplicate]数字小数舍入在 Pandas 中无法正常工作 [重复]
【发布时间】:2019-11-20 04:07:10
【问题描述】:

我只想保留我在列中的值的 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

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

【问题讨论】:

标签: python pandas numpy dataframe


【解决方案1】:

我的代码有什么问题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

【讨论】:

  • 但是会超过6个小数点,还有5个小数点
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多