Aller au contenu
Moncoachdata
  • Accueil
  • Blog
  • Tutos
  • Coaching
  • Programme Data
Connexion
Moncoachdata

Maîtriser NumPy : Le compagnon indispensable pour les Data Lovers

  • Principes de base des tableaux Numpy
  • Inspection de tableaux array de NumPy
  • Opérations sur les tableaux NumPy
  • Travailler avec des tableaux Numpy
  • NumPy pour le nettoyage de données
  • NumPy pour l’analyse statistique
  • NumPy pour l’algèbre linéaire
  • Techniques avancées pour NumPy
  • Optimisation des performances avec NumPy

Pandas : Un manuel complet pour les Data Lovers

  • Structures de données Pandas
  • Chargement et inspection des données dans Pandas
  • Sélection et indexation des données avec Pandas
  • Nettoyage de données avec Pandas
  • Manipulation de données avec Pandas
  • Agrégations de données avec Pandas
  • Visualisations de données avec Pandas
  • Traitement des données de séries temporelles avec Pandas
  • Traitement des données catégorielles avec Pandas
  • Pandas : Sujets avancés

Maîtriser Matplotlib : Un guide complet pour la visualisation de données

  • Tracé de base Matplotlib
  • Types de diagrammes Matplotlib
  • Multiples subplots Matplotlib
  • Matplotlib : Fonctionnalités avancées

Maîtriser Seaborn : Démystifier les diagrammes complexes

  • Introduction Seaborn
  • Diagrammes catégoriels avec Seaborn
  • Diagrammes univariés avec Seaborn
  • Diagrammes bivariés avec Seaborn
  • Diagrammes multivariés avec Seaborn
  • Diagrammes matriciels avec Seaborn

Maîtriser Plotly : Laisse tes visualisations parler à travers Plotly

  • Modules importants de Plotly
  • Diagrammes de base avec Plotly
  • Plotly : diagrammes avancés

Machine Learning : Explorer ses nombreuses formes

  • Comment fonctionne le Machine Learning ?
  • Apprentissage automatique supervisé
  • Apprentissage Automatique non Supervisé
  • Apprentissage semi-supervisé
  • Apprentissage par renforcement
View Categories

Nettoyage de données avec Pandas

Le nettoyage des données (Data Cleaning) est une étape essentielle du processus de préparation des données. Il s’agit d’identifier et de traiter les problèmes de ton ensemble de données afin d’en garantir la qualité et la fiabilité.

Traitement des données manquantes #

Les données manquantes sont un problème courant dans les ensembles de données du monde réel. Pandas propose des méthodes pour gérer efficacement les valeurs manquantes.

  • .isna() et .notna() : Ces méthodes t permettent d’identifier les valeurs manquantes (NaN) et non manquantes, respectivement, dans ton DataFrame. L’application de cette méthode à une colonne renverra la liste booléenne avec True pour les indices où il y a une valeur manquante. En passant cette liste dans un DataFraùe, tu obtiendras les lignes où les valeurs de cette colonne sont nulles.
missing_data = df[df['Column'].isna()]

# Pour obtenir la somme des valeurs manquantes (null) dans une colonne
df.Column.isna().sum()

# Pour obtenir la somme des valeurs manquantes (null) pour chaque colonne
df.isna().sum()
  • .fillna() : Tu peux remplacer les valeurs manquantes par une valeur spécifiée ou une valeur calculée à l’aide de la méthode .fillna(). L’exemple ci-dessous remplace toutes les valeurs manquantes (null) par des zéros et modifie directement les données comme nous l’avons fait avec inplace = True.
# spécifier la valeur par laquelle tu souhaites compléter la valeur manquante
# Dans l'exemple ci-dessous, nous remplaçons la valeur manquante par zéro.
df['Column'].fillna(value=0, inplace=True)

# Si tu souhaites remplir les données manquantes avec la moyenne de la colonne numérique
df['Column'].fillna(value=df['Column'].mean(), inplace=True)

# Si tu souhaites remplir les données manquantes avec la médiane de la colonne numérique
df['Column'].fillna(value=df['Column'].median(), inplace=True)

# Si tu souhaites remplir des données manquantes avec le mode de la colonne catégorielle
df['Column'].fillna(value=df['Column'].mode(), inplace=True)
  • .dropna() : Cette méthode permet de supprimer les lignes ou les colonnes contenant des valeurs manquantes. Par défaut, elle supprimera les lignes (axis = 0) pour lesquelles l’une des valeurs de la colonne est manquante (how = 'any').
# Par défaut axis=0, how='any'. Supprime toutes les lignes pour lesquelles une colonne est manquante.
df.dropna()

# Si tu souhaites que la vérification ne porte que sur certaines colonnes, utilise le sous-ensemble.
# Supprime les lignes où l'une des valeurs de la colonne 1 ou de la colonne 2 est manquante.
df.dropna(subset=['Column1', 'Column 2'], how = 'any', inplace=True)

# Supprime la colonne si l'une des valeurs de la colonne est manquante, ce qui n'est pas recommandé.
df.dropna(axis=1)

Notes :

  • En utilisant how = 'any', les lignes où l’une des valeurs de la colonne est manquante seront supprimées.
  • En utilisant how = 'all', les lignes où toutes les valeurs des colonnes spécifiées sont manquantes seront supprimées.

Suppression des doublons #

Les lignes en double peuvent fausser les résultats de ton analyse. Pandas propose une méthode simple pour supprimer les doublons :

  • .duplicated() : Cette méthode permet d’identifier les lignes dupliquées dans un DataFrame.
# Résultats des colonnes dupliquées 
# lorsqu'il y a une autre ligne avec une correspondance exacte de toutes les colonnes.
duplicates = df[df.duplicated()]

# Résultats des colonnes dupliquées 
# lorsqu'il y a une correspondance entre les colonnes spécifiées
duplicates = df[df.duplicated(subset=['column1','column2'])]

Note :

  1. Par défaut duplicated, utilise keep='first', qui conserve la première ligne observée dans le DataFrame et marque les lignes observées ultérieurement comme True, ce qui indique qu’il s’agit de lignes dupliquées.
  2. Si tu souhaites conserver la dernière ligne dupliquée observée dans le DataFrame, tu peux donner keep='last'.
  3. Si tu veux voir tous les doublons, tu peux indiquer keep='False'.
  4. Si tu souhaites vérifier les doublons sur la base de colonnes spécifiques, tu dois indiquer :
  • .drop_duplicates() : Cette méthode permet de supprimer les lignes en double du DataFrame.
# Avant de supprimer les lignes dupliquées,
# si tu veux vérifier le nombre de lignes dupliquées.
df.duplicated(subset=['column1','column2']).sum()

# Eliminer les lignes dupliquées, la ligne ci-dessous affichera les données après la suppression.
df.drop_duplicates()

# Il est conseillé de vérifier la forme après la suppression des valeurs en doublon avant de l'enregistrer.
df.drop_duplicates().shape

# Si tu es satisfait de la forme obtenue, tu peux l'enregistrer.
df.drop_duplicates(inplace=True)

Conversion des types de données #

Des types de données corrects sont essentiels pour l’analyse des données. Pandas fournit des méthodes pour convertir les types de données si nécessaire.

  • .astype() : Tu peux modifier le type de données d’une colonne spécifique à l’aide de la méthode .astype(). Prenons le cas où le prix d’un article est enregistré dans le type de données object, tu dois alors le changer en float.

Note : astype est également utile pour convertir les booléens en int, en gros pour toutes les valeurs True il remplacera par 1, et les False par 0.

# Pour voir les types de données de toutes les colonnes
df.dtypes

# Pour modifier le type de données d'une colonne
df['Column'] = df['Column'].astype('float')

# Conversion des colonnes/séries avec 'Male' en 1
df.Sex = pd.Series(df.Sex == 'Male').astype('int')

Opérations String #

Lorsque l’on travaille avec des données textuelles, Pandas propose des opérations sur les chaînes de caractères (string) par l’intermédiaire de .str, un accesseur à appliquer à l’ensemble de la colonne qui est de type object.

  • .str.lower() et .str.upper() : Ces méthodes convertissent les chaînes en minuscules ou en majuscules pour l’ensemble des valeurs de la colonne.
  • .str.replace() : Utilise cette méthode pour remplacer les sous-chaînes dans les chaînes.
  • .str.Contains() : Cette méthode te permet de vérifier si une sous-chaîne ou un motif spécifique existe dans une chaîne. Elle renvoie une série booléenne indiquant si chaque élément contient le motif spécifié.
  • .str.slice() : Tu peux extraire une sous-chaîne de chaque chaîne d’une série à l’aide de la méthode .str.slice(). Spécifie les positions de début et de fin pour définir la tranche.
# Convertit toutes les valeurs des colonnes du nom en minuscules
df['Name'] = df['Name'].str.lower()

# Convertit toutes les valeurs des colonnes du nom en majuscules
df['Name'] = df['Name'].str.upper()

# Recherche d'une valeur dans la colonne
contains_pattern = df['Text'].str.contains('keyword')
filtered_data = df[contains_pattern]

# Tranche de chaîne
df['Substring'] = df['Text'].str.slice(start=2, stop=5) 

# Remplacement de chaîne, disons que tu veux convertir l'objet $5.4 en un float
df.price.str.replace('$','').astype('float')

# Utilisation des opérations sur les chaînes et astype
df.item_name.str.contains('chicken').astype('int')
Guide Pandas Bases
T'en as pensé quoi ?
Partager ce tuto :
  • Facebook
  • X
  • LinkedIn
Sélection et indexation des données avec PandasManipulation de données avec Pandas
Table des matières
  • Traitement des données manquantes
  • Suppression des doublons
  • Conversion des types de données
  • Opérations String

Apprentissage

  • Cours accéléré NumPy
  • Nos programmes Data
  • TOP 50 fonctions NumPy
  • MasterClass DS & ML
  • MasterClass Deep Learning
  • Mon Shot de Data Science
  • Tutoriels Data Science

Le site

  • Articles
  • Coaching
  • Communauté
  • Newsletter
  • Connexion

À propos

  • CGV
  • Contact
Payment Options
Reçois chaque semaine mes meilleures pratiques en Data Science :

© 2025 MonCoachData - Data Science & Machine Learning

YouTube Discord GitHub Linkedin RSS
Défiler vers le haut
  • Accueil
  • Blog
  • Tutos
  • Coaching
  • Programme Data
Connexion
Discord DiscordYouTube YouTube
Rechercher