我有一个数据框:
df_test = pd.DataFrame({'col': ['paris', 'paris', 'nantes', 'berlin', 'berlin', 'berlin', 'tokyo'],
'id_res': [12, 12, 14, 28, 8, 4, 89]})
col id_res
0 paris 12
1 paris 12
2 nantes 14
3 berlin 28
4 berlin 8
5 berlin 4
6 tokyo 89
我想创建一个“检查”列,其值如下:
- 如果“col”中的一个值有重复,并且这些重复具有相同的id_res,则对于重复项,“check”的值为False
- 如果“col”中的一个值有重复项,并且这些重复项的“id_res”不同,则对于最大的“id_res”值,在“check”中分配True,在最小的值上分配False
- 如果“col”中的一个值没有重复,则“check”的值为False。
因此,我想要的输出结果是:
col id_res check
0 paris 12 False
1 paris 12 False
2 nantes 14 False
3 berlin 28 True
4 berlin 8 False
5 berlin 4 False
6 tokyo 89 False
我尝试了groupby,但没有令人满意的结果。有人可以帮帮我吗?
transform
也不是那么显然!解释一下广播 :) - Corralien