Maison >développement back-end >Tutoriel Python >Comment supprimer les lignes en double dans Pandas en fonction de colonnes spécifiques ?

Comment supprimer les lignes en double dans Pandas en fonction de colonnes spécifiques ?

DDD
DDDoriginal
2024-12-17 13:03:26842parcourir

How to Remove Duplicate Rows in Pandas Based on Specific Columns?

Suppression des lignes en double basées sur plusieurs colonnes dans Python Pandas

La fonction drop_duplicates dans Pandas fournit un moyen efficace de supprimer les lignes en double d'un DataFrame . Cependant, que se passe-t-il si vous souhaitez supprimer des lignes uniquement si elles correspondent à un ensemble spécifique de colonnes ?

Problème :

Considérez un DataFrame avec les colonnes "A", " B" et "C". Vous souhaitez supprimer les lignes dont les valeurs des colonnes « A » et « C » sont identiques. En d'autres termes, vous devez identifier et supprimer les lignes 0 et 1 de cet exemple DataFrame :

A B C
0 foo 0 A
1 foo 1 A
2 foo 1 B
3 bar 1 A

Solution :

Vous pouvez désormais y parvenir facilement en utilisant le fonction drop_duplicates et le paramètre subset :

import pandas as pd

df = pd.DataFrame({"A": ["foo", "foo", "foo", "bar"], "B": [0, 1, 1, 1], "C": ["A", "A", "B", "A"]})
df.drop_duplicates(subset=['A', 'C'], keep=False)

Le paramètre keep= spécifie s'il faut supprimer les lignes en double, y compris la première occurrence, ou de les exclure. Le définir sur False supprimera tous les doublons.

Le résultat est un DataFrame avec les lignes 0 et 1 supprimées, ne laissant que les lignes uniques basées sur les colonnes "A" et "C":

A B C
0 foo 1 B
1 bar 1 A

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn