Supprimer une colonne constante dans une dataframe avec Pandas

Faire du nettoyage de données est un travail préliminaire à l’exploration de données qui est crucial.

Cela permet de s’assurer que les modèles que l’on déploie apprennent sur des données de qualité.

Pour ce faire, plusieurs étapes sont envisageables, dont la suppression d’attributs qui n’apportent aucune information.

Ainsi, une étape fréquente dans le nettoyage de données tabulaires est la suppression de colonnes dont la variance est faible.

D’une manière encore plus spécifique, il peut arriver qu’une colonne d’une dataframe ait toutes ses valeurs constantes, auquel cas la variance sera égale à 0 et on aura envie de retirer cette colonne constante.

Problème

Comment supprimer facilement une colonne d’une dataframe Pandas, lorsque les valeurs de cette colonne sont égales à une constante ?

Solution

Utiliser la fomule magique suivante :

df = df.loc[:, (df != df.iloc[0]).any()]

L’idée est que (df != df.iloc[0]).any() marque avec un booléen chaque colonne pour laquelle il existe au moins un de ses éléments qui est différent de l’élément de la première ligne.


Laisser un commentaire