我试图在Python中比较两个不同的值:59.72559.72497和.
我使用Python round函数将它们四舍五入,因为做df.round(2)
不能按我需要的方式工作:
def round_df_columns(df, col_list):
for col_name in col_list:
for x in df[col_name]:
rounded_x = round(x, 2)
df[col_name] = df[col_name].replace(x, rounded_x)
return df
然而,当我这样做时,我得到59.7359.72和。有没有办法把这些值四舍五入,使它们都等于59.73?我找不到类似的问题,但很抱歉,如果这是重复的。谢谢!简单的解决方案是使用math.ceil
。
试
import math
x = math.ceil(100 * 59.72497) / 100
print(x)
y = math.ceil(100 * 59.725) / 100
print(y)
输出
59.73
59.73
如果您希望它们始终四舍五入,请在四舍五入之前将值添加0.005。例如
rounded_x = round(x + 0.005, 2)