Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Gestion des Valeurs Manquantes | Section
Practice
Projects
Quizzes & Challenges
Quiz
Challenges
/
Fondements de l'Apprentissage Automatique

bookGestion 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 l'ensemble 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 l'ensemble de données et vérifier la présence de valeurs manquantes, il est possible d'utiliser la méthode .info() d'un DataFrame.

12345
import 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())
copy

Le jeu de données comporte 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.

Note
Remarque

Null est un autre terme pour désigner les valeurs manquantes.

Pour identifier le nombre de valeurs manquantes dans chaque colonne, appliquer la méthode .isna() puis utiliser .sum().

12345
import 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())
copy

Les lignes contenant des valeurs manquantes peuvent être affichées avec : df[df.isna().any(axis=1)]

12345
import 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)])
copy

Suppression des lignes

Les première et dernière lignes ne contiennent que la cible ('species') et la valeur '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.

123456
import 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))
copy

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.

question mark

Laquelle des méthodes suivantes permet d’identifier les valeurs manquantes dans un DataFrame pandas ?

Select all correct answers

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 8

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

bookGestion 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 l'ensemble 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 l'ensemble de données et vérifier la présence de valeurs manquantes, il est possible d'utiliser la méthode .info() d'un DataFrame.

12345
import 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())
copy

Le jeu de données comporte 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.

Note
Remarque

Null est un autre terme pour désigner les valeurs manquantes.

Pour identifier le nombre de valeurs manquantes dans chaque colonne, appliquer la méthode .isna() puis utiliser .sum().

12345
import 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())
copy

Les lignes contenant des valeurs manquantes peuvent être affichées avec : df[df.isna().any(axis=1)]

12345
import 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)])
copy

Suppression des lignes

Les première et dernière lignes ne contiennent que la cible ('species') et la valeur '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.

123456
import 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))
copy

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.

question mark

Laquelle des méthodes suivantes permet d’identifier les valeurs manquantes dans un DataFrame pandas ?

Select all correct answers

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 8
some-alt