Pandas 熊猫:按每个基本级别的最新日期使用多索引筛选数据帧
我有一个pd.DataFrame,格式如下: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
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)