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
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!