如何让pandas DataFrame的索引列名与值列名处于同一层级
实现方案
要实现pandas DataFrame索引列名与值列名同处一个表头层级,可根据是否需要保留原有索引选择对应方案:
方案1:重置索引为普通列(推荐)
直接将带名称的索引转换为普通数据列,处理后两列天然平级,无论是控制台打印、导出文件还是第三方工具渲染,都不会出现表头错位问题,是最稳定的实现方式:
import pandas as pd df = pd.DataFrame.from_dict( aqi_val_dct, orient='index', columns=['Индекс качества воздуха (AQI)'] ).reset_index(names='Станция') print(df)
执行后输出的表头会按预期格式平级显示:Станция | Индекс качества воздуха (AQI)。
方案2:仅调整打印效果,保留原有索引
如果不想修改DataFrame本身的索引结构,仅需要控制台打印时表头同层级,直接调用to_string()方法输出即可:
print(df.to_string())
如果需要导出为Markdown、HTML格式时保持表头同层级,在对应导出方法中传入index=True参数即可,例如df.to_markdown(index=True)。
注意:保留索引结构的情况下,部分旧版DataFrame渲染插件仍可能出现索引名单独占行的问题,优先选择方案1可彻底规避该问题。
内容的提问来源于stack exchange,提问作者Kirysha
相关产品推荐
相关产品推荐

