Pandas设置DataFrame居中标题及Numbers列千分位分隔实现方法
解决方案
你可以通过pandas的Styler对象同时实现两个需求,具体实现代码和说明如下:
实现逻辑
- 千分位格式化:调用
style.format方法为Numbers列指定格式模板{:,},即可自动添加千分位逗号分隔,保留原有两位小数的精度。 - 居中标题:调用
set_caption添加标题后,通过样式配置指定标题文本居中对齐,还可额外调整字体大小、加粗等样式。
完整可运行代码
import pandas as pd import numpy as np title = 'Number and Numbers 2 Comparison' numbers = np.array([123242737.4923,679754672.3849]) numbers2 = np.array([123523,467895]) dict_val = pd.DataFrame({'Numbers':numbers.round(2),'Numbers 2': numbers2}) # 配置表格样式 styled_table = dict_val.style.format( {"Numbers": "{:,}"} # 仅对Numbers列做千分位格式化 ).set_caption(title).set_table_styles( [{"selector": "caption", "props": [("text-align", "center"), ("font-weight", "bold")]}] ) display(styled_table)
效果说明
以上代码仅修改表格的展示效果,不会改动dict_val中存储的原始数值,在Jupyter Notebook/Lab等支持HTML渲染的环境中可直接输出符合要求的结果。
内容的提问来源于stack exchange,提问作者georgehere
相关产品推荐
相关产品推荐

