You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

pandas打印浮点数小数位数不固定?如何设置固定小数位并自动四舍五入

问题原因

pandas默认的浮点数打印逻辑是自动适配列内最长的有效小数位数做对齐,仅调整展示效果,不影响实际存储的数值精度:

  • 第一个场景下CSV中存在14.54345774这个值,四舍五入后需要6位小数展示,所以整列统一显示6位小数,不足的末尾补0
  • 第二个场景下你将该值改为14.543后,列内最长的有效小数位数是16.25664的5位,所以整列自动切换为显示5位小数

解决方法

你之前用round方法无法补0是因为round仅调整数值本身,pandas默认显示规则会自动省略数值末尾的无意义0,只需要修改显示配置即可实现固定小数位、自动四舍五入、不足补0的需求。

方法1:全局生效配置

导入pandas后添加全局参数设置,所有浮点数列都会按固定格式打印:

import pandas as pd
# 全局设置浮点数显示为6位小数,自动四舍五入、不足补0
pd.set_option('display.float_format', lambda x: f'{x:.6f}')

方法2:仅针对指定列生效

如果不想修改全局配置,只需要调整某一列的打印格式,可以使用Styler:

# 仅将Number列按6位小数格式打印
print(df.style.format({'Number': '{:.6f}'}))

方法3:同时修改存储精度+显示格式

如果你需要实际存储的数值也固定为6位小数,可以结合round方法和显示配置使用:

# 实际数值四舍五入到6位
df['Number'] = df['Number'].round(6)
# 显示配置保证补0
pd.set_option('display.float_format', lambda x: f'{x:.6f}')

内容的提问来源于stack exchange,提问作者Pro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 19:54:05