如何提取多索引数据框的索引名称,pandas

How to extract the index names of a multiindexed dataframe, pandas

我有一个多索引数据框,看起来像这样:

                                            TQ bought  
HT           Detailed Instrument                   
Alternative     Investments                 359.445000  
Alternative     Investments                 633.670000  
Alternative     Investments                237.970000  
Alternative     Investments                 40.955000  

HT 和 Detailed Instrument 是多指数列名称,TQ bought 代表 Pivot 的值 table。

我想提取索引的列名作为列表,这样: idx_headers = ["HT", "Detailed Instrument"]

我已经尝试了 df.index.levels,但这并没有生成所需的输出。有什么想法吗?

您正在寻找 df.index.names

参见:http://pandas.pydata.org/pandas-docs/stable/generated/pandas.MultiIndex.html

使用index.names:

print (df.index)
MultiIndex(levels=[['Alternative'], ['Investments']],
           labels=[[0, 0, 0, 0], [0, 0, 0, 0]],
           names=['HT Detailed', 'Instrument'])

print (df.index.names)
['HT Detailed', 'Instrument']