擅长:python、mysql、java
<p>替换@Scott Boston的解决方案中的<code>.eq(0)</code>而不是<code>.diff().fillna(0).lt(0)</code>。你知道吗</p>
<pre><code>dd = {'Time':'first',
'Open':'first',
'High':'max',
'Low':'min',
'Close':'last',
'NumberOfTrades':'sum'}
df['grp'] = (df['NumberOfTrades'].cumsum() % 150).eq(0)[::-1].cumsum()
df.groupby(by='grp', sort=False)[['Time','Open','High','Low','Close','NumberOfTrades']].agg(dd).reset_index(drop=True)
</code></pre>