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

Pandas DataFrame应用style后数值变为科学计数法如何解决?

解决方案

方法1:仅针对当前Styler对象设置(推荐)

直接在调用style时指定对应列的格式化规则,不会影响其他DataFrame的显示效果,可适配保留两位小数+千分位分隔的原始需求:

import pandas as pd
d = {'Name': ['A', 'B'], 'Amount': [3580093709.00, 5656745317.00]}
df = pd.DataFrame(data=d)
# 给Amount列指定显示格式,:,.2f代表千分位分隔、保留2位小数
df = df.style.format({'Amount': '{:,.2f}'})
df

如果不需要千分位分隔仅需要普通定点数显示,把格式字符串替换为{:.2f}即可。

方法2:全局设置pandas浮点数显示规则

如果需要所有pandas浮点型数据输出都不使用科学计数法,可以修改全局配置:

import pandas as pd
# 全局设置浮点数显示为千分位分隔、保留2位小数
pd.set_option('display.float_format', '{:,.2f}'.format)

d = {'Name': ['A', 'B'], 'Amount': [3580093709.00, 5656745317.00]}
df = pd.DataFrame(data=d)
df = df.style
df

注意:该配置修改后会影响所有后续pandas浮点型数据的打印、Styler渲染效果,如果仅单个表格需要特殊格式建议优先使用方法1。

原因说明

pandas默认会对长度较大的浮点型数值自动采用科学计数法渲染,避免表格列宽过宽,手动指定格式化规则后就会覆盖默认的自动适配逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 15:54:05