Pandas : comment utiliser dropna() avec des colonnes spécifiques



Vous pouvez utiliser la fonction dropna() avec l’argument subset pour supprimer les lignes d’un DataFrame pandas qui contiennent des valeurs manquantes dans des colonnes spécifiques.

Voici les manières les plus courantes d’utiliser cette fonction en pratique :

Méthode 1 : supprimer les lignes avec des valeurs manquantes dans une colonne spécifique

df.dropna(subset = ['column1'], inplace=True)

Méthode 2 : supprimer les lignes avec des valeurs manquantes dans l’une des plusieurs colonnes spécifiques

df.dropna(subset = ['column1', 'column2', 'column3'], inplace=True)

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', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   'points': [18, np.nan, 19, 14, 14, 11, 20, 28],
                   'assists': [5, np.nan, np.nan, 9, 12, 9, 9, 4],
                   'rebounds': [11, 8, 10, 6, 6, 5, 9, np.nan]})

#view DataFrame
print(df)

  team  points  assists  rebounds
0    A    18.0      5.0      11.0
1    B     NaN      NaN       8.0
2    C    19.0      NaN      10.0
3    D    14.0      9.0       6.0
4    E    14.0     12.0       6.0
5    F    11.0      9.0       5.0
6    G    20.0      9.0       9.0
7    H    28.0      4.0       NaN

Exemple 1 : supprimer les lignes avec des valeurs manquantes dans une colonne spécifique

Nous pouvons utiliser la syntaxe suivante pour supprimer les lignes avec des valeurs manquantes dans la colonne « assistances » :

#drop rows with missing values in 'assists' column
df.dropna(subset = ['assists'], inplace=True)

#view updated DataFrame
print(df)

  team  points  assists  rebounds
0    A    18.0      5.0      11.0
3    D    14.0      9.0       6.0
4    E    14.0     12.0       6.0
5    F    11.0      9.0       5.0
6    G    20.0      9.0       9.0
7    H    28.0      4.0       NaN

Notez que les deux lignes avec des valeurs manquantes dans la colonne « assistances » ont toutes deux été supprimées du DataFrame.

Notez également que la dernière ligne du DataFrame est conservée même si elle comporte une valeur manquante car la valeur manquante ne se trouve pas dans la colonne « assistances ».

Exemple 2 : supprimer les lignes avec des valeurs manquantes dans l’une des plusieurs colonnes spécifiques

Nous pouvons utiliser la syntaxe suivante pour supprimer les lignes avec des valeurs manquantes dans les colonnes « points » ou « rebonds » :

#drop rows with missing values in 'points' or 'rebounds' column
df.dropna(subset = ['points', 'rebounds'], inplace=True)

#view updated DataFrame
print(df)

  team  points  assists  rebounds
0    A    18.0      5.0      11.0
2    C    19.0      NaN      10.0
3    D    14.0      9.0       6.0
4    E    14.0     12.0       6.0
5    F    11.0      9.0       5.0
6    G    20.0      9.0       9.0

Notez que les deux lignes avec des valeurs manquantes dans les colonnes « points » ou « rebonds » ont été supprimées du DataFrame.

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

Ressources additionnelles

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

Pandas : Comment réinitialiser l’index après avoir utilisé dropna()
Pandas : Comment supprimer des colonnes avec des valeurs NaN
Pandas : Comment supprimer des lignes en fonction de plusieurs conditions

Ajouter un commentaire

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