核心内容
通过
display.precision与display.float_format控制浮点数的显示格式。
1. display.precision — 全局精度
import pandas as pd
import numpy as np
df = pd.DataFrame({
'A': [1.23456789, 2.34567891],
'B': [0.123456789, 9.87654321]
})
pd.set_option('display.precision', 3)
print(df)
# A B
# 0 1.235 0.123
# 1 2.346 9.877注意
precision只影响 显示,不会改变实际存储值(df['A'][0]仍为 1.23456789)。
2. display.float_format — 自定义格式化函数
# 千分位 + 两位小数
pd.set_option('display.float_format', lambda x: f'{x:,.2f}')
# 百分比
pd.set_option('display.float_format', lambda x: f'{x:.2%}')
# 科学计数法
pd.set_option('display.float_format', lambda x: f'{x:.2e}')
# 恢复默认
pd.reset_option('display.float_format')示例
df = pd.DataFrame({
'销售额': [1234567.891, 2345678.912],
'增长率': [0.1234, 0.5678]
})
with pd.option_context('display.float_format', lambda x: f'{x:,.2f}'):
print(df)
# 销售额 增长率
# 0 1,234,567.89 0.12
# 1 2,345,678.91 0.573. 常见场景速查
| 场景 | 设置 |
|---|---|
| 金融数据千分位 | lambda x: f'{x:,.2f}' |
| 百分比 | lambda x: f'{x:.2%}' |
| 隐藏小数 | pd.set_option('display.precision', 0) |
| 科学计数 | lambda x: f'{x:.2e}' |
性能提示
float_format输出大型 DataFrame 时会逐元素调用格式化函数,可能影响性能。
相关笔记
- 20.4 显示格式化 - 其他显示控制选项
- 22.2 格式化方法 - Styler 中的
format()