擅长:python、mysql、java
<p>使用cumsum在<strong>递减</strong>上检测递增顺序:</p>
<pre><code>df['is_increasing'] = df['Price'].diff().lt(0).cumsum()
</code></pre>
<p>你会得到:</p>
<pre><code> Date Price is_increasing
0 2021-01-01 29344.67 0
1 2021-01-02 32072.08 0
2 2021-01-03 33048.03 0
3 2021-01-04 32084.61 1
4 2021-01-05 34105.46 1
5 2021-01-06 36910.18 1
6 2021-01-07 39505.51 1
7 2021-01-08 40809.93 1
8 2021-01-09 40397.52 2
9 2021-01-10 38505.49 3
</code></pre>
<p>现在,您可以使用</p>
<pre><code>sizes=df.groupby('is_increasing')['Price'].transform('size')
df[sizes == sizes.max()]
</code></pre>
<p>你会得到:</p>
<pre><code> Date Price is_increasing
3 2021-01-04 32084.61 1
4 2021-01-05 34105.46 1
5 2021-01-06 36910.18 1
6 2021-01-07 39505.51 1
7 2021-01-08 40809.93 1
</code></pre>