Gestion des Valeurs Manquantes
Seul un nombre limité de modèles d'apprentissage automatique peuvent gérer les valeurs manquantes, il est donc nécessaire de vérifier le jeu de données afin de s'assurer qu'aucune lacune ne subsiste. Si des valeurs manquantes sont présentes, elles peuvent être traitées de deux manières :
- Suppression des lignes contenant des valeurs manquantes ;
- Remplissage des cellules vides avec des valeurs de substitution, un processus appelé imputation.
Identification des valeurs manquantes
Pour afficher des informations générales sur le jeu de données et vérifier la présence de valeurs manquantes, vous pouvez utiliser la méthode .info()
d'un DataFrame.
12345import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df.info())
Le jeu de données compte 344 entrées, mais les colonnes 'culmen_depth_mm'
, 'flipper_length_mm'
, 'body_mass_g'
et 'sex'
contiennent chacune moins de 344 valeurs non nulles, ce qui indique la présence de données manquantes.
Null est un autre terme pour désigner les valeurs manquantes.
Pour identifier le nombre de valeurs manquantes dans chaque colonne, appliquez la méthode .isna()
puis utilisez .sum()
.
12345import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df.isna().sum())
Les lignes contenant des valeurs manquantes peuvent être affichées avec :
df[df.isna().any(axis=1)]
12345import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df[df.isna().any(axis=1)])
Suppression des lignes
Les première et dernière lignes ne contiennent que les valeurs de la cible ('species'
) et de 'island'
, fournissant trop peu d'informations pour être utiles. Ces lignes peuvent être supprimées en conservant uniquement celles ayant moins de deux valeurs NaN
et en les réaffectant à df
.
123456import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') df = df[df.isna().sum(axis=1) < 2] print(df.head(8))
En revanche, les lignes restantes contiennent des informations utiles, avec des valeurs NaN
apparaissant uniquement dans la colonne 'sex'
. Au lieu de supprimer ces lignes, les valeurs manquantes peuvent être imputées. Une approche courante consiste à utiliser le transformateur SimpleImputer
, qui sera abordé dans le prochain chapitre.
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Awesome!
Completion rate improved to 3.13
Gestion des Valeurs Manquantes
Glissez pour afficher le menu
Seul un nombre limité de modèles d'apprentissage automatique peuvent gérer les valeurs manquantes, il est donc nécessaire de vérifier le jeu de données afin de s'assurer qu'aucune lacune ne subsiste. Si des valeurs manquantes sont présentes, elles peuvent être traitées de deux manières :
- Suppression des lignes contenant des valeurs manquantes ;
- Remplissage des cellules vides avec des valeurs de substitution, un processus appelé imputation.
Identification des valeurs manquantes
Pour afficher des informations générales sur le jeu de données et vérifier la présence de valeurs manquantes, vous pouvez utiliser la méthode .info()
d'un DataFrame.
12345import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df.info())
Le jeu de données compte 344 entrées, mais les colonnes 'culmen_depth_mm'
, 'flipper_length_mm'
, 'body_mass_g'
et 'sex'
contiennent chacune moins de 344 valeurs non nulles, ce qui indique la présence de données manquantes.
Null est un autre terme pour désigner les valeurs manquantes.
Pour identifier le nombre de valeurs manquantes dans chaque colonne, appliquez la méthode .isna()
puis utilisez .sum()
.
12345import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df.isna().sum())
Les lignes contenant des valeurs manquantes peuvent être affichées avec :
df[df.isna().any(axis=1)]
12345import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df[df.isna().any(axis=1)])
Suppression des lignes
Les première et dernière lignes ne contiennent que les valeurs de la cible ('species'
) et de 'island'
, fournissant trop peu d'informations pour être utiles. Ces lignes peuvent être supprimées en conservant uniquement celles ayant moins de deux valeurs NaN
et en les réaffectant à df
.
123456import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') df = df[df.isna().sum(axis=1) < 2] print(df.head(8))
En revanche, les lignes restantes contiennent des informations utiles, avec des valeurs NaN
apparaissant uniquement dans la colonne 'sex'
. Au lieu de supprimer ces lignes, les valeurs manquantes peuvent être imputées. Une approche courante consiste à utiliser le transformateur SimpleImputer
, qui sera abordé dans le prochain chapitre.
Merci pour vos commentaires !