如果 match_id 列中值出现少于 3 次或超过 3 次,如何从 df 中删除行
| 比赛编号 | 玩家 | 赢 |
|---|---|---|
| 111 | 1 | 0 |
| 111 | 2 | 0 |
| 111 | 3 | 0 |
| 112 | 1 | 1 |
| 112 | 2 | 1 |
| 113 | 1 | 0 |
| 113 | 2 | 0 |
| 113 | 3 | 0 |
| 113 | 4 | 0 |
| 113 | 5 | 0 |
| 113 | 6 | 0 |
应该只有:
| 比赛编号 | 玩家 | 赢 |
|---|---|---|
| 111 | 1 | 0 |
| 111 | 2 | 0 |
| 111 | 3 | 0 |
请帮帮我
如果 match_id 列中值出现少于 3 次或超过 3 次,如何从 df 中删除行
| 比赛编号 | 玩家 | 赢 |
|---|---|---|
| 111 | 1 | 0 |
| 111 | 2 | 0 |
| 111 | 3 | 0 |
| 112 | 1 | 1 |
| 112 | 2 | 1 |
| 113 | 1 | 0 |
| 113 | 2 | 0 |
| 113 | 3 | 0 |
| 113 | 4 | 0 |
| 113 | 5 | 0 |
| 113 | 6 | 0 |
应该只有:
| 比赛编号 | 玩家 | 赢 |
|---|---|---|
| 111 | 1 | 0 |
| 111 | 2 | 0 |
| 111 | 3 | 0 |
请帮帮我
我们进行分组
match_id,对每个组进行计数transform('count'),创建一个布尔数组 c.eq(3)并通过选择所需的行df[булев массив]可以这样做:
在这个变体中,首先计算列中的重复次数,然后选择那些恰好重复3次的值,然后通过这些值过滤数据帧。