问题描述
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
我只想选择每个股票行情日历日期最近的行,因此输出如下所示:
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
我知道如何通过遍历level(0)索引值并使用df.loc [ticker] .last('1D')来做到这一点,但是我正在寻找更快的方法。
解决方法
通过groupby
和tail
进行检查
df = df.groupby(level=0).tail(1)