擅长:python、mysql、java
<p>遗憾的是,我没有找到一个直接的解决办法。。所以我用2<code>groupby</code>解决了这个问题:</p>
<pre><code># Build True/False Series for filter criteria
selector = df.groupby('a').b.agg(np.ptp) > 3
# Only select those 'a' which have True in filter criteria
selector = selector.loc[selector == True]
# Re-Create groups of 'a' with the filter criteria in place
# Only those groups for 'a' will be created, where the MAX-MIN of 'b' are > 3.
grouped = df.loc[df['a'].isin(selector.index)].groupby('a')
</code></pre>