Récupération de lignes basées sur des valeurs de colonnes distinctes
Dans les scénarios de manipulation de données, il devient essentiel d'extraire des lignes en fonction de valeurs uniques dans une colonne particulière . Cet article montrera comment y parvenir à l'aide de Pandas, une bibliothèque Python populaire pour la manipulation et l'analyse de données.
Énoncé du problème
Considérons un cadre de données avec deux colonnes, COL1 et COL2. La tâche consiste à récupérer les lignes où les valeurs de COL2 sont uniques. Par exemple, étant donné le dataframe ci-dessous :
COL1 | COL2 |
---|---|
a.com | 22 |
b.com | 45 |
c.com | 34 |
e.com | 45 |
f.com | 56 |
g.com | 22 |
h.com | 45 |
Le résultat souhaité est d'obtenir les lignes basées sur les valeurs uniques dans COL2 :
COL1 | COL2 |
---|---|
a.com | 22 |
b.com | 45 |
c.com | 34 |
f.com | 56 |
Solution : Utiliser Pandas Méthode drop_duplicates()
La bibliothèque Pandas fournit une méthode pratique appelée drop_duplicates() pour accomplir cette tâche. En spécifiant le nom de la colonne dans l'argument, vous pouvez rechercher les doublons et supprimer ou conserver des lignes spécifiques en fonction de vos besoins.
Par exemple, pour supprimer toutes les lignes en double en fonction des valeurs COL2, utilisez le code suivant :
<code class="python">import pandas as pd df = pd.DataFrame({'COL1': ['a.com', 'b.com', 'c.com', 'e.com', 'f.com', 'g.com', 'h.com'], 'COL2': [22, 45, 34, 45, 56, 22, 45]}) df = df.drop_duplicates('COL2') # Displaying the result print(df)</code>
Cela affichera le dataframe avec des valeurs uniques dans COL2 :
COL1 | COL2 |
---|---|
a.com | 22 |
b.com | 45 |
c.com | 34 |
f.com | 56 |
De plus, vous pouvez spécifier le paramètre keep pour contrôler les lignes en double à conserver. Par défaut, il conserve la première occurrence (« first »), mais vous pouvez également conserver la dernière (« last ») ou supprimer tous les doublons (« False »).
<code class="python"># Keep first occurrence df = df.drop_duplicates('COL2', keep='first') # Keep last occurrence df = df.drop_duplicates('COL2', keep='last') # Remove all duplicates df = df.drop_duplicates('COL2', keep=False)</code>
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!