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

Comment supprimer les colonnes en double dans Pandas ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-01 20:17:02887parcourir

How to Remove Duplicate Columns in Pandas?

Comment supprimer les colonnes en double dans Pandas

Si vous avez affaire à un DataFrame qui a des colonnes en double, vous souhaiterez peut-être les supprimer à des fins de cohérence ou d’analyse des données. Voici une solution simple pour y parvenir :

<code class="python">df = df.loc[:,~df.columns.duplicated()].copy()</code>

Mécanisme :

  • df.columns.duplicate() crée un tableau booléen où True indique un doublon le nom de la colonne et False indique un nom unique.
  • L'application de ~ (négation logique) retourne ce tableau, en sélectionnant uniquement le colonnes non dupliquées.
  • df.loc[:,...] utilise l'indexation booléenne pour sélectionner ces colonnes non dupliquées, supprimant ainsi efficacement les doublons.
  • La copie() garantit qu'un un nouveau DataFrame est créé avec les doublons supprimés, laissant le DataFrame d'origine non affecté.

Remarque :Cette méthode vérifie les doublons en fonction des noms de colonnes, et non des valeurs de colonnes.

Approches alternatives :

Suppression des doublons Index :

<code class="python">df = df.loc[~df.index.duplicated(),:].copy()</code>

Cela supprime toutes les lignes en double en utilisant un mécanisme similaire à celui ci-dessus, mais il vérifie l'index au lieu des noms de colonnes.

Suppression des doublons par valeurs ( Attention) :

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

Cette approche analyse chaque colonne et la supprime si toutes les valeurs de cette colonne sont dupliqué. Cependant, il doit être utilisé avec prudence car il vérifie les valeurs, pas les noms de colonnes, et peut ne pas donner les résultats souhaités dans tous les cas.

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