擅长:python、mysql、java
<p>您可以使用<a href="http://pandas.pydata.org/pandas-docs/stable/generated/pandas.rolling_max.html" rel="nofollow">^{<cd1>}</a>和<a href="http://pandas.pydata.org/pandas-docs/version/0.17.0/generated/pandas.DataFrame.shift.html" rel="nofollow">^{<cd2>}</a>的组合。</p>
<p>例如,如果周期为2,则</p>
<pre><code>df = pd.DataFrame({"A": [5,6,4,3,5]})
>>> pd.rolling_max(df.A.shift(-1), 2).shift(-1)
0 6
1 4
2 5
3 NaN
4 NaN
Name: A, dtype: float64
</code></pre>
<p>给出接下来2个句点的最大值(注意末尾的两个<code>NaN</code>,其中的内容只是没有定义)。</p>
<p>通常,对于大小为<code>k</code>的窗口,可以使用</p>
^{pr2}$
<p>从这一点开始,您可以将原始系列减去1与结果进行比较:</p>
<pre><code>df.A - 1 > pd.rolling_max(...
</code></pre>