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

如何让Python Pandas DataFrame的mean列输出时对齐小数点?

问题描述

执行print(df.round(decimals=3))后,Pandas DataFrame的输出如下:

mean        sd      skew  ...       min       max count
est mean and sd   1.58895  0.494215  0.055769  ... -0.255506  3.210586  1000
est mean          1.59015  0.034379  0.092728  ...  1.485435  1.706782  1000
est sd           1.586303  0.492995  0.065619  ... -0.254994  3.336123  1000

如何实现该DataFrame中mean列的小数点对齐?

解决方法

可以通过以下几种方式实现mean列的小数点对齐:

方法1:使用style.format设置专属格式化规则

利用Pandas的样式功能,单独指定mean列的显示格式,通过固定小数位数和对齐方式实现小数点对齐:

print(df.style.format({'mean': '{:>10.5f}'}).to_string())

其中{:>10.5f}表示右对齐、总宽度为10、保留5位小数,你可以根据实际数据的长度调整宽度值和小数位数。

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

通过修改Pandas的全局显示选项,让所有浮点数列统一按固定小数位数显示,自然实现对齐效果:

import pandas as pd
pd.options.display.float_format = '{:,.5f}'.format
print(df)

注意这种方式会影响所有DataFrame的浮点数列显示,若仅需针对mean列做调整,优先选择方法1。

方法3:手动格式化列值(改变数据类型)

直接将mean列的数值转换为格式化后的字符串,快速实现对齐(此方法会将列类型从数值转为字符串,后续无法直接做数值计算):

df['mean'] = df['mean'].apply(lambda x: '{:>10.5f}'.format(x))
print(df)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 15:00:13