首页 > 解决方案 > 如何从多索引数据框中删除索引列

问题描述

我已经看到了很多关于扁平化多级索引的答案。我只想删除这个多索引数据框左侧的第一个索引列。

由此:

Attributes       Date    Close    Close               
Symbols                   AMZN      ^DJI  
0          2020-12-01  3220.08  29823.92  
1          2020-11-30  3168.04  29638.64  
2          2020-11-27  3195.34  29910.37  
3          2020-11-25  3185.07  29872.47

我正在寻找这个结果:

       Date    Close    Close               
               AMZN      ^DJI  
2020-12-01  3220.08  29823.92  
2020-11-30  3168.04  29638.64  
2020-11-27  3195.34  29910.37  
2020-11-25  3185.07  29872.47

这可能吗?

标签: pythonpandas

解决方案


如果需要将第一个 MultiIndex 列设置为索引使用DataFrame.set_index,并通过 - 重命名索引和列名,DataFrame.rename_axis因此输出DataFrameDatetimeIndex

df = df.set_index([('Date', '')]).rename_axis(index=None, columns=('Date',''))
print (df)
Date          Close          
               AMZN      ^DJI
2020-12-01  3220.08  29823.92
2020-11-30  3168.04  29638.64
2020-11-27  3195.34  29910.37
2020-11-25  3185.07  29872.47

推荐阅读