python - Round To 1dp 给出错误的数字
问题描述
你如何将一列四舍五入到 1dp?
df value
0 0.45
1 0.45
df.value.round(1)
0.4
0.4
解决方案
您可以利用内置的 pythonround
来获得所需的结果,如下所示
import pandas as pd
df = pd.DataFrame({'value':[0.45,0.45]})
df['rounded'] = df.value.apply(lambda x:round(x,1))
print(df)
输出
value rounded
0 0.45 0.5
1 0.45 0.5
pandas.Series.round
和 built-in之间的差异round
对我来说有点令人惊讶,但实际上可以用不止一种方法来舍入数字来解释。这不仅限于python
——例如GNU AWK 手册描述了 5 种不同的舍入模式。
推荐阅读
- swift - 全局变量未使用所有视图共享的相同实例化
- javascript - Promise.all 不适用于所有项目,除非我更改订单?
- mysql - 仅当数据库中尚不存在同名表时,如何将表创建为另一个表?
- ios - SwiftUI:如何在容器视图中垂直和水平居中并在其下放置一些东西
- c++ - C++结构成员在接收原始地址作为成员函数参数后指向另一个内存位置
- python - 如何在 Python3 中使用自定义的下溢/溢出箱绘制构面直方图?
- powershell - 如何测试在 Transact SQL 中设置的环境变量?
- splunk - 从 linux cli 更改 splunk 管理员密码
- firebase - Unity 编辑器中的 Firebase 初始化失败
- regex - 如何在特定单词之后匹配单个出现的字符?