擅长:python、mysql、java
<p>对于<code>df.loc[]</code>等价的问题,您可以执行以下操作:</p>
<pre class="lang-py prettyprint-override"><code>df=df.set_index('a')\
.loc[df.groupby('a').b.agg(np.ptp).gt(3)]\
.reset_index()
</code></pre>
<p>或者(内部联接解决方案):</p>
<pre class="lang-py prettyprint-override"><code>selector=df.groupby('a').b.agg(np.ptp).gt(3)
selector=selector.loc[selector]
df=df.merge(selector, on='a', suffixes=["", "_dropme"])
df=df.loc[:, filter(lambda col: "_dropme" not in col, df.columns)]
</code></pre>
<p>产出:</p>
<pre class="lang-py prettyprint-override"><code> a b
0 10 1
1 10 5
</code></pre>
<p>PS+1@rafaelc-用于<code>.ptp</code>事情</p>