duplicated() renvoie un masque booléen marquant les lignes qui répètent une ligne déjà vue, sur toutes les colonnes ou sur un sous-ensemble (subset). keep choisit quelle occurrence n'est pas marquée (first, last) ou False pour marquer toutes. Il sert à repérer les doublons avant de décider quoi en faire.
Exemple
df[df.duplicated(subset=['email'], keep=False)]