4

我有一个多级数据框df

>>> df
                   sales     cash
STK_ID RPT_Date                  
000568 20120630   51.926   42.845
       20120930   80.093   57.488
000596 20120630   22.278   18.247
       20120930   32.585   26.177
000799 20120630    9.291    6.513
       20120930   14.784    8.157

我想获取 sub_level index 的值列表'STK_ID',它将返回['000568','000596','000799'].
是否有任何直接功能可以做到这一点(不使用reset_index和获取列值)?

4

1 回答 1

8

您正在寻找index.levels

In [10]: df1.index.levels
Out[10]: 
[Index(['000568', '000596', '000799'], dtype=object),
 Int64Index([20120630, 20120930], dtype=int64)]

In [11]: df1.index.levels[0]
Out[11]: Index(['000568','000596','000799'], dtype=object)

请注意,您可以看到索引名称:

In [12]: df1.index.names
Out[12]: ['STK_ID', 'RPT_Date']

这些在此处的文档中进行了讨论。

于 2013-01-21T05:38:38.470 回答