如何在多索引 pandas 数据框中填充列名称

问题描述 投票:0回答:1

我的数据框列如下所示:

>> df.columns

output:

MultiIndex([(                    'Month',                      nan),
        (                           'TG',                      nan),
        (                        'Reach',                  'level'),
        (                            nan,                   'plan'),
        (                            nan,             'sth (p.p.)'),
        (                            nan,                  'final'),
        (                   'Prime Time',                  'final'),
        (                            nan,                    'AGB'),
        (                            nan,            'diff (p.p.)'),
        (                   'Prime Time',             'diff p.p.')],
       names=[None, 'Campaign'])

我想填写这样的名字:

MultiIndex([(                    'Month',                      nan),
        (                           'TG',                      nan),
        (                        '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.')],
       names=[None, 'Campaign'])

最后我想得到一个带有一个名称行的扁平数据框:

'Month',
'TG',
'Reach level',
'Reach plan',
...
pandas
1个回答
0
投票

用途:

df.columns = pd.MultiIndex.from_frame(df.columns.to_frame().ffill(axis=1))
© www.soinside.com 2019 - 2024. All rights reserved.