Pandas 熊猫:按每个基本级别的最新日期使用多索引筛选数据帧

Pandas 熊猫:按每个基本级别的最新日期使用多索引筛选数据帧,pandas,multi-index,Pandas,Multi Index,我有一个pd.DataFrame,格式如下: dimension datekey ... tbvps workingcapital ticker calendardate ... A 2020-03-31 MRT 2020-04-30 ... 16.026 1.226000e+09 AAL 2020-03-31

我有一个pd.DataFrame,格式如下:

                    dimension    datekey  ...    tbvps workingcapital
ticker calendardate                       ...                        
A      2020-03-31         MRT 2020-04-30  ...   16.026   1.226000e+09
AAL    2020-03-31         MRT 2020-03-31  ...  123.058  -1.203800e+10
       2020-06-30         MRT 2020-06-30  ...  138.105  -4.211000e+09
AAP    2020-03-31         MRT 2020-04-18  ...  150.120   1.740946e+09
       2020-06-30         MRT 2020-07-11  ...  148.265   1.957966e+09
我只想选择每个ticker具有最新日历日期的行,因此输出如下所示:

                    dimension    datekey  ...    tbvps workingcapital
ticker calendardate                       ...                        
A      2020-03-31         MRT 2020-04-30  ...   16.026   1.226000e+09
AAL    2020-06-30         MRT 2020-06-30  ...  138.105  -4.211000e+09
AAP    2020-06-30         MRT 2020-07-11  ...  148.265   1.957966e+09
       

我知道如何通过在级别(0)索引值上循环并使用df.loc[ticker].last('1D')来实现这一点,但我正在寻找更快的方法。

使用
groupby
使用
tail

df = df.groupby(level=0).tail(1)