Comment supprimer les colonnes en double dans les DataFrames Python ?

Mary-Kate Olsen
Libérer: 2024-11-04 08:11:02
original
760 Les gens l'ont consulté

How to Remove Duplicate Columns in Python DataFrames?

Suppression des colonnes en double dans les dataframes Python

Lorsque vous travaillez avec un dataframe, des colonnes en double peuvent souvent apparaître, créant des redondances et potentiellement provoquant une confusion. Cela peut être particulièrement frustrant si vous souhaitez conserver uniquement des colonnes uniques. Heureusement, il existe des solutions simples pour supprimer les colonnes en double dans les pandas Python.

Solution pour supprimer les colonnes par noms

Pour supprimer les colonnes en double en fonction de leurs noms, utilisez ce qui suit line:

<code class="python">df = df.loc[:,~df.columns.duplicated()].copy()</code>
Copier après la connexion

Cette approche utilise l'opérateur ~ pour inverser les valeurs booléennes renvoyées par df.columns.duplicate(), qui vérifie les noms de colonnes en double. Le tableau booléen résultant est ensuite utilisé pour sélectionner uniquement les colonnes non dupliquées dans l'indexation df.loc. La méthode .copy() est ajoutée pour éviter des erreurs potentielles lors de la modification ultérieure du dataframe d'origine.

Solution pour supprimer les doublons par valeurs

Supposons que vous souhaitiez supprimer les colonnes en double en vérifiant leurs valeurs, pas seulement leurs noms. Ceci peut être réalisé en utilisant le code suivant :

<code class="python">df = df.loc[:,~df.apply(lambda x: x.duplicated(),axis=1).all()].copy()</code>
Copier après la connexion

Cette solution évite la transposition du dataframe, ce qui peut prendre du temps pour les grands dataframes. Il applique une fonction lambda à chaque colonne pour vérifier les valeurs en double. Le tableau booléen résultant est ensuite utilisé pour sélectionner uniquement les colonnes sans valeurs en double.

Remarque : Soyez prudent lorsque vous utilisez l'approche basée sur les valeurs. Cela peut ne pas toujours donner les résultats souhaités dans certains cas.

Conseils supplémentaires

  • Pour supprimer les lignes en double, appliquez la même technique à l'index en utilisant df. loc[~df.index.duplicate(),:].
  • Utilisez la méthode drop_duplicates() pour supprimer les lignes en double en fonction de colonnes spécifiques.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal