如何在Pandas中使用MultiIndex.from_tuples实现三级表头?
用Pandas MultiIndex.from_tuples实现三级表头
要实现你需要的三级表头,核心是把每一列的三级表头信息组合成三元组,再通过MultiIndex.from_tuples生成多层索引,具体步骤如下:
构造表头元组列表
每个列对应一个包含三级表头的元组,按你的示例,四个列的元组分别是:- ("ColA", "A", "abc")
- ("ColA", "B", "abc")
- ("ColB", "A", "abc")
- ("ColB", "B", "abc")
生成MultiIndex并创建DataFrame
把元组列表传入MultiIndex.from_tuples,作为DataFrame的列索引。示例代码如下:
import pandas as pd import streamlit as st # 构造三级表头的元组列表 header_tuples = [ ("ColA", "A", "abc"), ("ColA", "B", "abc"), ("ColB", "A", "abc"), ("ColB", "B", "abc") ] # 生成多层索引(names参数可给每级表头命名,不需要可省略) multi_index = pd.MultiIndex.from_tuples(header_tuples, names=["1级表头", "2级表头", "3级表头"]) # 创建示例DataFrame(替换成你的业务数据即可) df = pd.DataFrame( [[1, 2, 3, 4], [5, 6, 7, 8]], columns=multi_index ) # 在Streamlit中直接展示多层表头的DataFrame st.dataframe(df)
- 补充说明
Streamlit的st.dataframe会自动识别并渲染多层表头,无需额外配置样式。
内容的提问来源于stack exchange,提问作者Ana
相关产品推荐
相关产品推荐

