【发布时间】:2022-12-23 17:39:49
【问题描述】:
我用df = pd.read_excel('data.xlsx', header=[0, 1], sheet_name='Sheet1')读了一个excel文件data:
name cpi icpi CPI
freq M D M
0 2021-02-21 -9.8 31.524 9.806
1 2021-02-22 -5.6 30.777 9.164
2 2021-02-23 3.5 29.318 7.841
3 2021-02-24 -1.1 29.209 7.570
4 2021-02-25 -2.7 29.074 7.467
我希望2层标题中具有相同name和freq的列可以被视为重复数据, 并且可以删除这些列。我怎样才能做到这一点?
print(df.columns.get_level_values(0))
print(df.columns.to_flat_index())
Index(['name', 'cpi', 'icpi', 'CPI'], dtype='object')
Index([('name', 'freq'), ('cpi', 'M'), ('icpi', 'D'), ('CPI', 'M')], dtype='object')
预期结果:
name cpi icpi
freq M D
0 2021-02-21 -9.8 31.524
1 2021-02-22 -5.6 30.777
2 2021-02-23 3.5 29.318
3 2021-02-24 -1.1 29.209
4 2021-02-25 -2.7 29.074
【问题讨论】:
标签: python-3.x pandas