我在Pandas中使用rolling_max函数:
http://pandas.pydata.org/pandas-docs/stable/computation.html#moving-rolling-statistics-moments
既然价格这么高,我怎么能找到多少周期呢?
发布于 2014-03-29 18:36:29
首先:
>>> ts
A 10
B 10
C -5
D -15
E -9
F -8
G -13
H -9
I -15
J -21
dtype: int64你可以这样做:
>>> rmlag = lambda xs: np.argmax(xs[::-1])
>>> pd.rolling_apply(ts, func=rmlag, window=3, min_periods=0).astype(int)
A 0
B 0
C 1
D 2
E 2
F 0
G 1
H 2
I 1
J 2
dtype: int64与原始系列和滚动最大值连在一起:
value roll-max rm-lag
A 10 10 0
B 10 10 0
C -5 10 1
D -15 10 2
E -9 -5 2
F -8 -8 0
G -13 -8 1
H -9 -8 2
I -15 -9 1
J -21 -9 2
[10 rows x 3 columns]https://stackoverflow.com/questions/22734763
复制相似问题