【发布时间】:2021-04-29 18:52:41
【问题描述】:
我有一个名为 df 的数据框,我想删除在比赛中少于 2 条狗的价值比赛。我该怎么做?
输入
race_id dog_id
1 1
1 2
1 3
2 1
2 3
3 1
3 2
3 4
3 5
4 1
4 4
输出
race_id dog_id
1 1
1 2
1 3
3 1
3 2
3 4
3 5
我试过了
df.loc[lambda x:x.race_id.isin(df.groupby('race_id').dog_id.nunique().gt(2).index.tolist())]
但这不起作用?仍在寻找更简单的解决方案,谢谢!
【问题讨论】:
-
所以你想删除少于或等于 2 条狗的比赛,对吧?
-
是的,没错,我想删除少于或等于 2 只狗的比赛。
-
groupby_transform和nunique然后你想保持条件的计数 (lt, gt.eq)..