Python只在几行上执行滚动操作

2024-04-20 00:10:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个名为df的1000行数据帧。有两列:datelog_return。你知道吗

date          log_return
2014-01-01 .   0.01
2014-01-02 .   0.01
...
2019-02-01 .   0.01 
2019-02-02 .   0.01
2019-02-03 .   0.01
2019-02-04 .   0.01

我只想计算最近三天(2019-02-02、2019-02-03和2019-02-04)过去500天的对数收益的滚动总和。你知道吗

df['log_return'].apply(lambda x: x.rolling(window = 500, min_periods = 500).sum())

…将计算所有日期的滚动总和,这对我来说是不必要和耗时的。我不想在为所有行计算滚动和之后进行行过滤。你知道吗

有没有一种方便的方法只对几行进行滚动计算?因为如果数据帧变得如此之大,所有行的滚动计算将更加耗时。你知道吗


Tags: 数据lambdalogdfdatereturn对数收益