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

如何在Dash DataTable中显示Pivot DataFrame的int_id_ait索引?

解决Dash DataTable不显示多级索引int_id_ait的问题

核心原因

Dash DataTable默认仅识别DataFrame的普通列,不会自动渲染多级索引的外层字段(比如int_id_ait),需要先将索引转换为普通列再进行渲染。

具体解决方案

  1. 将多级索引转为普通列
    使用reset_index()方法把透视表的多级索引(int_id_ait和int_desc)转换为表格的普通列:

    # 转换索引为列
    dati_prev_pivot = dati_prev_pivot.reset_index()
    
  2. 扁平化多级列名(可选但推荐)
    由于pd.pivot生成的透视表列是多级结构(tariffa + prog_anno),直接渲染可能导致列名显示混乱,建议扁平化处理:

    # 把多级列名合并为单一级别
    dati_prev_pivot.columns = ['_'.join(col).strip() for col in dati_prev_pivot.columns.values]
    

    处理后列名会变成类似int_id_ait、int_desc、tariffa_2021、tariffa_2022的形式,更易识别。

  3. 在Dash DataTable中渲染
    转换后的DataFrame可以直接传入Dash DataTable,此时int_id_ait会作为普通列显示:

    import dash_table
    
    dash_table.DataTable(
        data=dati_prev_pivot.to_dict('records'),
        columns=[{'name': col, 'id': col} for col in dati_prev_pivot.columns],
        # 可添加样式、分页等其他配置
    )
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 04:32:08