Pandas : Comment supprimer des colonnes avec des valeurs NaN



Vous pouvez utiliser les méthodes suivantes pour supprimer des colonnes d’un DataFrame pandas avec des valeurs NaN :

Méthode 1 : supprimer les colonnes avec n’importe quelle valeur NaN

df = df.dropna(axis=1)

Méthode 2 : supprimer les colonnes avec toutes les valeurs NaN

df = df.dropna(axis=1, how='all')

Méthode 3 : supprimer les colonnes avec un nombre minimum de valeurs NaN

df = df.dropna(axis=1, thresh=2)

Les exemples suivants montrent comment utiliser chaque méthode en pratique avec le DataFrame pandas suivant :

import pandas as pd
import numpy as np

#create DataFrame
df = pd.DataFrame({'team': ['A', 'A', 'A', 'B', 'B', 'B'],
                   'position': [np.nan, 'G', 'F', 'F', 'C', 'G'],
                   'points': [11, 28, 10, 26, 6, 25],
                   'rebounds': [np.nan, np.nan, np.nan, np.nan, np.nan, np.nan]})

#view DataFrame
print(df)

  team position  points  rebounds
0    A      NaN      11       NaN
1    A        G      28       NaN
2    A        F      10       NaN
3    B        F      26       NaN
4    B        C       6       NaN
5    B        G      25       NaN

Exemple 1 : supprimer des colonnes avec des valeurs NaN

Le code suivant montre comment supprimer des colonnes avec des valeurs NaN :

#drop columns with any NaN values
df = df.dropna(axis=1)

#view updated DataFrame
print(df)

  team  points
0    A      11
1    A      28
2    A      10
3    B      26
4    B       6
5    B      25

Notez que les colonnes position et rebonds ont été supprimées car elles avaient toutes deux au moins une valeur NaN.

Exemple 2 : supprimer les colonnes avec toutes les valeurs NaN

Le code suivant montre comment supprimer des colonnes avec toutes les valeurs NaN :

#drop columns with all NaN values
df = df.dropna(axis=1, how='all')

#view updated DataFrame
print(df)

  team position  points
0    A      NaN      11
1    A        G      28
2    A        F      10
3    B        F      26
4    B        C       6
5    B        G      25

Notez que la colonne des rebonds a été supprimée car c’était la seule colonne avec toutes les valeurs NaN.

Exemple 3 : supprimer des colonnes avec un nombre minimum de valeurs NaN

Le code suivant montre comment supprimer des colonnes avec au moins deux valeurs NaN :

#drop columns with at least two NaN values
df = df.dropna(axis=1, thresh=2)

#view updated DataFrame
print(df)

  team position  points
0    A      NaN      11
1    A        G      28
2    A        F      10
3    B        F      26
4    B        C       6
5    B        G      25

Notez que la colonne des rebonds a été supprimée car c’était la seule colonne avec au moins deux valeurs NaN.

Remarque : Vous pouvez trouver la documentation complète de la fonction dropna() dans pandas ici .

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans les pandas :

Comment supprimer la première colonne dans Pandas
Comment supprimer les colonnes en double dans Pandas
Comment supprimer toutes les colonnes sauf certaines dans Pandas

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *