Skip to main content
 首页 » 编程设计

python之Pandas Python : why does np. round() 3.601626 到 2 dp 返回 3.6

2025年05月04日15telwanggs

我试图将 df 中的一些 float 舍入为 2 dp,但所有 10 的倍数都舍入为 1 dp,因此 3.60 为 3.6,12.40 为 12.4...

我有一个 df:

Values           A         B         C         D 
Question                                                                                                     
A2         4.08642  4.144279  3.601626  3.983852 

我的代码

np.round(df,2) 

输出

Values        A     B    C     D 
Question                                                                                                     
A2         4.09  4.14  3.6  3.98 

预期输出

Values        A     B     C     D 
Question                                                                                                     
A2         4.09  4.14  3.60  3.98 

如何强制 np.round 将“3.6”显示为“3.60”?

仅供引用 - 我不想使用字符串格式化程序,因为我必须四舍五入这些数字。

请您参考如下方法:

问题不在于舍入,而在于 pandas 显示 DataFrame 的方式。

你可以像这样设置float_format:

pd.options.display.float_format = '${:,.2f}'.format 

如 this answer 中的详细说明.