La fonction pandas drop_duplicates est un outil puissant pour supprimer les lignes en double d'un DataFrame, mais que se passe-t-il si vous seulement souhaitez supprimer les lignes qui sont des doublons dans un sous-ensemble de colonnes ?
Considérez le DataFrame suivant :
A | B | C |
---|---|---|
foo | 0 | A |
foo | 1 | A |
foo | 1 | B |
bar | 1 | A |
Supposons que vous souhaitiez supprimer les lignes qui correspondent aux colonnes A et C. Dans ce cas, vous voudriez pour supprimer les lignes 0 et 1.
Pour y parvenir, vous pouvez utiliser la fonction drop_duplicates avec le paramètre keep défini sur False. Ce paramètre spécifie comment gérer les lignes en double. Par défaut, keep est défini sur first, ce qui signifie que la première occurrence d'une ligne en double sera conservée. Définir keep sur False supprimera toutes les lignes en double.
Le code suivant montre comment supprimer les lignes avec des valeurs en double dans les colonnes A et C :
import pandas as pd df = pd.DataFrame({"A": ["foo", "foo", "foo", "bar"], "B": [0, 1, 1, 1], "C": ["A", "A", "B", "A"]}) # Drop rows with duplicate values in columns 'A' and 'C' df = df.drop_duplicates(subset=['A', 'C'], keep=False) print(df)
Sortie :
A B C 2 foo 1 B 3 bar 1 A
Comme vous pouvez le constater, les lignes 0 et 1 ont été supprimées, car elles sont en double par rapport aux colonnes A et C.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!