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

如何填充Pandas多级索引DataFrame列名并实现列名扁平化

处理MultiIndex列名:前向填充+扁平化

步骤1:前向填充MultiIndex第一级的空值

针对列MultiIndex中第一级存在的空值(nan),通过提取第一级索引、填充后重构MultiIndex完成前向填充:

import pandas as pd

# 提取第一级列名并执行前向填充
filled_first_level = df.columns.get_level_values(0).ffill()
# 用填充后的第一级+原第二级重构列MultiIndex
df.columns = pd.MultiIndex.from_arrays(
    [filled_first_level, df.columns.get_level_values(1)],
    names=df.columns.names
)

步骤2:扁平化列名

将两级列名合并为单一字符串,第二级为空的列直接保留第一级名称,非空则以“第一级 第二级”的格式拼接:

# 过滤空值后拼接列名
df.columns = [' '.join(filter(None, col_tuple)) for col_tuple in df.columns]

执行完成后,最终列名将变为:
'Month', 'TG', 'Reach level', 'Reach plan', 'Reach sth (p.p.)', 'Reach final', 'Prime Time final', 'Prime Time AGB', 'Prime Time diff (p.p.)', 'Prime Time diff p.p.'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 09:34:58