有没有通过滚动(window = 5)回归计算斜率的方法?
df
A
2016-01-01 5.9
2016-01-02 6.3
2016-01-03 NaN
2016-01-04 5.6
2016-01-05 4.3
2016-01-06 5.6
2016-01-07 4.6
2016-01-08 4.0
2016-01-09 7.0
...
result
A
2016-01-01 -
2016-01-02 -
2016-01-03 -
2016-01-04 -
2016-01-05 NaN
2016-01-06 NaN
2016-01-07 NaN
2016-01-08 xxx
2016-01-09 xxx
...
#(xxx stands for some value)
我尝试使用linregress计算值,但它不适用于包含NaN的此帧。
如果窗口中有一些,请忽略Nan。
from scipy.stats import linregress
df.apply(lambda v: linregress(df.index, df.A)[0])