在Python数据帧中将浮点数四舍五入/近似为3位小数

在Python数据帧中将浮点数四舍五入/近似为3位小数,python,pandas,numpy,decimal,jupyter-notebook,Python,Pandas,Numpy,Decimal,Jupyter Notebook,我有一种情况,我加载到pandas DataFrame中,并对某些列中的值求和 除一列(名为:上升)外,大多数列的结果总和都四舍五入到小数点后3位。如何将总和(浮点数)四舍五入/近似到小数点后3位 我尝试了下面代码片段中列出的方法,最接近的四舍五入是:0.9020000000002而不是0.902 以下是我在Jupyter note中尝试的内容:- 将numpy导入为np 作为pd进口熊猫 level\u table=pd.read\u csv(“level\u Book.csv”) 圆桌会议

我有一种情况,我加载到pandas DataFrame中,并对某些列中的值求和

除一列(名为:上升)外,大多数列的结果总和都四舍五入到小数点后3位。如何将总和(浮点数)四舍五入/近似到小数点后3位

我尝试了下面代码片段中列出的方法,最接近的四舍五入是:0.9020000000002而不是0.902

以下是我在Jupyter note中尝试的内容:-

将numpy导入为np
作为pd进口熊猫
level\u table=pd.read\u csv(“level\u Book.csv”)
圆桌会议(3)
BS=标高_表[“后视镜”]。总和()
FS=标高_表[“前视”]。总和()
上升=水平_表[“上升”]。总和()
Fall=标高_表[“Fall”].sum()
#我尝试了以下方法,最接近的四舍五入的总和是:0.902000000000000002,而不是0.902
#上升=大约np(上升,小数=3)
#上升=np.ceil(上升)
#上升=四舍五入(上升,小数=3)
#上升=上升。应用(np.round())
B、F、上升、下降
输出=(4.127,4.127,0.9020000000002,0.902)或(4.127,4.127,0.90199999999,0.902)

预期产出=(4.127、4.127、0.902、0.902)

这一问题在一次会议上得到了解决

使用内置的
round
功能:

round(var_Name, value)
sleepstudy['Reaction'] =d['Column'].apply(lambda x: round(x, 3))
  • var\u Name
    是您想要取整的变量
  • value
    是要舍入的小数位数整数值
例如:

>>> sum = 6.77765345098888
>>> round(sum, 3)
>>> sum
6.777
这一问题在一次会议上得到了解决

使用内置的
round
功能:

round(var_Name, value)
sleepstudy['Reaction'] =d['Column'].apply(lambda x: round(x, 3))
  • var\u Name
    是您想要取整的变量
  • value
    是要舍入的小数位数整数值
例如:

>>> sum = 6.77765345098888
>>> round(sum, 3)
>>> sum
6.777

您只需使用apply函数即可完成此操作:

round(var_Name, value)
sleepstudy['Reaction'] =d['Column'].apply(lambda x: round(x, 3))

您只需使用apply函数即可完成此操作:

round(var_Name, value)
sleepstudy['Reaction'] =d['Column'].apply(lambda x: round(x, 3))

这是一个好主意。试试
round(上升,3)
Great@ayhan,这真的很神奇。谢谢,这是个好主意。试试
round(上升,3)
Great@ayhan,这真的很神奇。谢谢这是两年前在对这个问题的评论中发布的解决方案,就在你的答案上方。为了避免任何剽窃的味道,引用这一点是非常恰当的。我会帮你做的。那不是应该轮到6.778吗?这是两年前在对这个问题的评论中发布的解决方案,就在你的答案上方。为了避免任何剽窃的味道,引用这一点是非常恰当的。我会帮你做的。那不应该是6.778吗?