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

如何用df.style方法设置Pandas DataFrame索引名称的格式?

为Pandas DataFrame的索引名称设置样式

Pandas的df.style确实没有直接的apply_map_index_name方法,但可以通过以下两种方式实现索引名称的样式定制:

方法一:利用CSS选择器直接定位索引名称单元格

Pandas渲染样式时,会给索引名称对应的HTML单元格添加index_name类,我们可以通过set_table_styles方法针对这个类设置样式:

先构造示例DataFrame:

import pandas as pd

df = pd.DataFrame({'数值1': [10, 20, 30], '数值2': [40, 50, 60]}, index=['行1', '行2', '行3'])
df.index.name = '自定义索引名'

设置索引名称的样式:

styled_df = df.style.set_table_styles([
    {
        'selector': '.index_name',
        'props': [
            ('background-color', '#f0f8ff'),
            ('font-weight', 'bold'),
            ('color', '#2c3e50'),
            ('padding', '8px')
        ]
    }
])

# 在Jupyter Notebook中直接显示,或导出为HTML查看效果
styled_df

方法二:将索引名称转为表头的一部分(适配复杂格式场景)

如果需要对索引名称做更灵活的格式调整,可以先把索引名称转为列名的一部分,再用常规样式方法处理:

# 重置索引,将原索引转为普通列
df_reset = df.reset_index()
# 把原索引名称设为新列的列名
df_reset.columns = [df.index.name] + list(df.columns)

# 针对这个"伪索引名称列"设置样式
styled_df = df_reset.style.applymap(lambda x: 'font-weight: bold; color: #e74c3c;', subset=[df.index.name])

第一种方法更直接,适合单纯的样式定制;第二种方法适合需要和列样式统一处理的场景。

内容的提问来源于stack exchange,提问作者Daniel Gonçalves

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 08:01:30