擅长:python、mysql、java
<p>你可以试试这个:</p>
<pre><code>df['grp'] = (df['NumberOfTrades'].cumsum() % 150).diff().fillna(0).lt(0)[::-1].cumsum()
dd = {'Time':'first',
'Open':'first',
'High':'max',
'Low':'min',
'Close':'last',
'NumberOfTrades':'sum'}
df.groupby('grp', sort=False)[['Time','Open','High','Low','Close','NumberOfTrades']]\
.agg(dd).reset_index(drop=True)
</code></pre>
<p>输出:</p>
<pre><code> Time Open High Low Close NumberOfTrades
0 17:35 101.1 105 100 103 150
1 18:56 103.0 108 101 102 150
</code></pre>