Maison  >  Article  >  développement back-end  >  Comment supprimer les colonnes en double dans les DataFrames Python ?

Comment supprimer les colonnes en double dans les DataFrames Python ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-04 08:11:02717parcourir

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>

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>

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!

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