gpt4 book ai didi

python - 选择至少一次满足条件的所有组

转载 作者:太空宇宙 更新时间:2023-11-03 12:43:19 27 4
gpt4 key购买 nike

我想保留满足条件的组的所有行至少一次。换句话说,我想至少删除一次不符合条件的组。

我已经四处寻找了几个小时,但找不到解决方案。 This was the closest I got但我无法实现答案。

我有以下数据框:

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

我想按 test["Gr"] 分组并选择所有 test["Bk"] == 9 的组至少一次以达到此目的:

# Drop Gr 2 because they didn't meet Bk == 1 in any of its rows.
Gr Bk
0 1 9
1 1 1

我原以为这可以通过组合 groupby().any() 轻松实现,而不需要 lambda 函数。

我试过这个:

test.groupby("Gr").filter(lambda x: (x.Bk == 9).all())

最佳答案

简单易懂的filter

test.groupby('Gr').filter(lambda x : x['Bk'].eq(9).any())
Gr Bk
0 1 9
1 1 1

关于python - 选择至少一次满足条件的所有组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57549073/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com