1

我有一个数据框'df',它有一个多级索引('STK_ID','RPT_Date'):

    sales        cogs    net_pft
STK_ID RPT_Date                                   
600809 20120331  2214010000   509940000  492532000
       20111231  4488150000  1077190000  780547000
       20110930  3563660000   850789000  707537000
       20110630  2894820000   703883000  658625000

一些代码:

>>> df.index.names
['STK_ID', 'RPT_Date']

现在我想通过以下方式获取 RPT_Date 列的系列值(20120331,20111231,20110930,20110630):

>>> df['RPT_Date'] # not work

我如何获得这些数据?

4

2 回答 2

2

我修好了它。

df.index.get_level_values('RPT_Date')

array([20120331, 20111231, 20110930, 20110630, 20110331, 20101231,
       20100930, 20100630, 20100331, 20091231, 20090930, 20090630,
       20090331, 20081231, 20080930, 20080630, 20080331, 20071231,
       20070930, 20070630, 20070331, 20061231, 20060930, 20060630,
       20060331], dtype=object)

我觉得语法很丑,为什么 Pandas 的开发者不接受直接的方式df['RPT_Date']

于 2012-08-23T13:09:42.480 回答
1

如果您这样做,那将起作用:

df2 = df.reset_index()
df2['RPT_Date']
于 2012-09-09T21:01:52.270 回答