<p>我希望至少保留一次满足条件的组的所有行。换句话说,我想至少删除一次不满足条件的组。你知道吗</p>
<p>我四处找了几个小时,找不到解决办法。<a href="https://stackoverflow.com/questions/38830423/groupby-and-any-all">This was the closest I got</a>但我无法实现答案。你知道吗</p>
<p>我有以下数据框:</p>
<pre class="lang-py prettyprint-override"><code>test = pd.DataFrame({"Gr":[1,1,2,2],"Bk":[9,1,8,5]})
print(test)
Gr Bk
0 1 9
1 1 1
2 2 8
3 2 5
</code></pre>
<p>我想按<code>test["Gr"]</code>分组,并至少选择一次<code>test["Bk"] == 9</code>所在的所有组以达到以下目的:</p>
<pre><code># Drop Gr 2 because they didn't meet Bk == 1 in any of its rows.
Gr Bk
0 1 9
1 1 1
</code></pre>
<p>我本以为这可以通过组合<code>groupby()</code>和<code>.any()</code>而不需要lambda函数来实现。你知道吗</p>
<p>我试过这个:</p>
<pre class="lang-py prettyprint-override"><code>test.groupby("Gr").filter(lambda x: (x.Bk == 9).all())
</code></pre>