我在Python Pandas中有DataFrame,如下所示:
数据类型:
- ID -整数
- 类型-对象
- TG_A -整数
- TG_B -整数
| 识别号|类型|TG_A| TG_B|
| - ------|- ---------------------------------------------------|- ------|- ------|
| 一百一十一|A类|一个|无|
| 一百一十一|B|一个|无|
| 二百二十二|B| 1个|无|
| 二百二十二|A类|1个|无|
| 三百三十三|B|无|1个|
| 三百三十三|A类|无|1个|
我需要删除上面DataFrame中的重复项,以便:
- 如果我的DF中ID的值重复-〉删除TYPE = B且TG_A = 1或TYPE = A且TG_B = 1的行
因此,作为一个结果,我需要像下面这样的东西:
ID | TYPE | TG_A | TG_B
----|------|------|-----
111 | A | 1 | 0
222 | A | 1 | 0
333 | B | 0 | 1
在Python Pandas中我如何才能做到这一点?
2条答案
按热度按时间daolsyd01#
可以使用两个布尔掩码和
groupby.idxmax
来获取第一个不匹配的值:输出:
qhhrdooz2#
result