我有一个类似以下的时间序列数据帧
df = pd.DataFrame(data=np.random.randn(1000), index=pd.bdate_range('11/15/2018', freq='H', periods=1000))
,我想根据当天的历史值来对每个值进行排名(获取分位数或百分比排名等)。例如,将12/26/2018 10:00 am的值与最后N天的数据进行排名,但仅将这些天的数据截至10:00 am包括在内。我通常会滚动自己的apply函数,但出于性能方面的考虑会保持警惕。
任何想法如何有效地做到这一点?
谢谢。