Pandas:按整数进行的多指数二级切片

时间:2016-08-05 15:15:51

标签: python pandas group-by multi-index

我有一个多索引数据框,如下所示:

In [45]: df
Out[45]: 
                    Last  Days to expiry
Date       Ticker                       
1988-06-23 COU88   15.65         48 days
           COV88   15.65         78 days
1988-06-24 COU88   15.65         47 days
           COV88   15.56         77 days
           COX88   15.75        108 days
1988-06-27 COU88   15.10         44 days
           COV88   15.30         74 days
1988-06-28 COU88   15.27         43 days
           COV88   15.27         73 days
1988-06-29 COU88   14.97         42 days
           COV88   14.92         72 days
1988-06-30 COU88   14.85         41 days
           COV88   14.80         71 days

有两个索引级别(即'Date'和'Ticker')。 我想用第一行所有日期的整数切片,这意味着第一个自动收报机。结果应如下所示:

                    Last  Days to expiry
Date       Ticker                       
1988-06-23 COU88   15.65         48 days
1988-06-24 COU88   15.65         47 days
1988-06-27 COU88   15.10         44 days
1988-06-28 COU88   15.27         43 days
1988-06-29 COU88   14.97         42 days
1988-06-30 COU88   14.85         41 days

另外,如果可能,我想过滤列以仅获取名为“Last”的列。我无法为df.iloc

获得正确的语法

非常感谢您的提示

1 个答案:

答案 0 :(得分:3)

您可以在第一个索引级别groupby并致电first

In [173]:
df.groupby(level='Date').first()

Out[173]:
             Last Days to expiry
Date                            
1988-06-23  15.65        48 days
1988-06-24  15.65        47 days
1988-06-27  15.10        44 days
1988-06-28  15.27        43 days
1988-06-29  14.97        42 days
1988-06-30  14.85        41 days