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

如何解决Pandas DataFrame无法显示5位小数精度的问题?

解决Pandas DataFrame显示5位小数精度的问题

问题重现

你创建的DataFrame在将Value列除以7后,仅显示2位小数,调用.round(5)或设置pd.set_option('display.precision',5)都未达到显示5位小数的效果。

原因分析

这是因为Pandas默认的display.float_format设置限制了浮点数的显示位数,该设置优先级高于display.precision;而.round(5)仅修改数据的存储精度,若显示格式未调整,依然会按默认位数展示。

解决方案

方法1:全局设置浮点数显示格式

通过pd.set_option直接指定浮点数的显示格式为5位小数,该设置会作用于所有浮点数列:

import pandas as pd

data = [['Blue', 34], ['Green', 61], ['Red', 22]]
df = pd.DataFrame(data, columns=['Color', 'Value'])

df['Value'] = df['Value']/7

# 设置全局浮点数显示为5位小数
pd.set_option('display.float_format', '{:.5f}'.format)
print(df)

输出结果:

Color   Value
0   Blue  4.85714
1  Green  8.71429
2    Red  3.14286

方法2:仅针对指定列设置显示格式

如果不想影响其他列的显示格式,可以使用style.format()(适用于Jupyter Notebook等交互式环境):

# 仅对Value列设置5位小数显示
df.style.format({'Value': '{:.5f}'})

方法3:结合round()与显示设置

若需要同时修改数据存储精度和显示格式,可先调用.round(5)并赋值,再配合显示设置:

df['Value'] = df['Value'].round(5)
pd.set_option('display.float_format', '{:.5f}'.format)
print(df)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 22:31:13