Je dispose d'un dataframe qui contient des données comme suit :
col1 col2 col3
1 3 bob
2 1 alice
3 3 bob
4 3 rose
Et ce que je veux faire, c'est conserver les lignes dupliquées de col2 et écarter les doublons avec plus d'une occurrence de la valeur de col3. Ou en d'autres termes, des doublons de col2 mais seulement là où les valeurs de col3 sont différentes. Ainsi, dans l'exemple ci-dessus, j'obtiendrais :
col1 col2 col3
1 3 bob
4 3 rose
Alice ne serait pas dans le résultat parce qu'évidemment, il n'y a pas de deuxième valeur du '1' de col2 - ce n'est pas un doublon. La deuxième entrée de Bob (3 3 bob) ne serait pas dans le résultat car même si le '3' de col2 est un doublon, le 'bob' de col3 est déjà dans l'ensemble de résultats (1 3 bob). (Je suis conscient du paramètre keep=
pour changer le comportement de la conservation du premier ou du dernier, mais je l'ignore pour des raisons de simplicité.)
Des idées? Merci.