À RETENIR
- Les méthodes de data cleaning corrigent les formats, doublons, erreurs de saisie, valeurs manquantes et anomalies.
- Travaillez toujours sur une copie des données brutes et définissez les règles avant de modifier une ligne.
- Mesurez au minimum le taux de valeurs manquantes, le nombre de doublons et les échecs de validation avant et après.
- Python, SQL, Power Query et OpenRefine couvrent la plupart des besoins, mais l’outil dépend du volume et du niveau d’automatisation attendu.
La variable qui change le plus la méthode est la conséquence d’une erreur : une valeur douteuse peut être corrigée, imputée, supprimée ou simplement signalée.
Qu’est-ce que le data cleaning ?
Définition et objectif du nettoyage des données
Le data cleaning, ou nettoyage des données, consiste à repérer et corriger les défauts qui empêchent un jeu de données d’être analysé correctement. Vous pouvez standardiser les formats, supprimer des doublons, traiter les champs vides, corriger des valeurs impossibles et vérifier les relations entre colonnes.
Une donnée propre n’est pas nécessairement parfaite. Elle est suffisamment exacte, cohérente, complète et documentée pour l’usage prévu, qu’il s’agisse d’un tableau de bord, d’une base client ou d’un modèle de machine learning.
Pourquoi nettoyer ses jeux de données ?
- Éviter qu’un doublon gonfle artificiellement un chiffre d’affaires, un nombre de clients ou un volume de commandes.
- Empêcher que des variantes comme « Paris », « paris » et « Paris » soient comptées comme trois catégories.
- Réduire les erreurs dans les jointures, les indicateurs et les modèles prédictifs.
- Rendre les résultats plus faciles à contrôler, expliquer et reproduire.
Le nettoyage est donc une condition de fiabilité pour la business intelligence et le pilotage des données. Il ne remplace pas une analyse métier : il évite simplement de bâtir cette analyse sur des entrées contradictoires.
Les principales erreurs de qualité à corriger
- Valeurs manquantes : cellules vides, valeurs nulles ou libellés comme « N/A ».
- Doublons : lignes identiques ou enregistrements représentant deux fois la même entité.
- Formats incohérents : dates mélangées, devises différentes, nombres stockés comme texte.
- Valeurs aberrantes : âge négatif, quantité impossible ou montant très éloigné du contexte métier.
Préparer le nettoyage de ses données
Auditer et profiler le jeu de données
- Comptez les lignes, les colonnes et les valeurs distinctes de chaque champ.
- Calculez le taux de valeurs manquantes et repérez les colonnes presque vides.
- Examinez les types, les distributions, les minimums, les maximums et quelques exemples.
- Recherchez les doublons exacts et les collisions sur les identifiants métier.
Le profilage vous donne une mesure de départ au lieu de vous faire corriger les données à l’œil. Pour un fichier de quelques milliers de lignes, un tableur peut suffire ; au-delà, un script reproductible limite les oublis.
Définir les règles de qualité et le format attendu
Écrivez les règles avant le nettoyage : une date doit-elle suivre le format ISO AAAA-MM-JJ ? Une adresse e-mail est-elle obligatoire ? Une commande peut-elle avoir une valeur négative ?
Associez chaque colonne à un type, une unité, une plage acceptable et une règle de nullité. Cette spécification évite de confondre une valeur rare mais correcte avec une erreur.
Conserver les données brutes et travailler sur une copie
Ne modifiez jamais directement le fichier source. Conservez une copie immuable, donnez une version au fichier de travail et exportez un journal indiquant la règle appliquée, la date et le nombre de lignes touchées.
Cette précaution permet de revenir en arrière lorsqu’une règle supprime des données valides. Elle est aussi nécessaire pour comparer le résultat avec la source et expliquer un changement à un collègue.
Les principales méthodes de data cleaning
Standardiser les formats et les valeurs
- Convertissez toutes les dates vers un format unique et traitez explicitement le fuseau horaire des horodatages.
- Transformez les nombres stockés comme texte et choisissez un séparateur décimal cohérent.
- Supprimez les espaces inutiles et harmonisez la casse des catégories.
- Convertissez les unités, par exemple des livres en kilogrammes, avant toute agrégation.
Standardiser un affichage dans Excel ne suffit pas si le type interne reste du texte. Vérifiez le type réel après conversion, notamment avant une jointure ou un calcul.
Corriger les erreurs structurelles et de saisie
Les fautes de frappe, abréviations et libellés concurrents doivent être rapprochés d’un référentiel contrôlé. Une table de correspondance qui transforme « IDF », « Île-de-France » et « ile de france » vers une valeur canonique est plus sûre qu’une correction manuelle dispersée.
Ne corrigez pas automatiquement une valeur qui possède plusieurs interprétations plausibles. Placez-la dans une file de revue ou conservez l’original dans une colonne d’audit.
Supprimer ou fusionner les doublons
Un doublon se définit par une règle métier, pas seulement par une ligne identique. Pour des clients, l’e-mail peut être un indice ; pour des transactions, il faut souvent combiner identifiant, date, montant et source.
Avant de supprimer, choisissez la ligne conservée et mesurez les conflits entre versions. Si deux lignes contiennent des informations complémentaires, fusionnez-les avec une règle explicite plutôt que d’en supprimer une au hasard.
Traiter les valeurs manquantes
- Supprimez une ligne seulement si le champ manquant rend l’observation inutilisable.
- Imputez par une médiane, une catégorie « inconnu » ou une méthode métier lorsque le risque de biais reste acceptable.
- Conservez une variable indicatrice qui signale qu’une valeur a été imputée.
- Laissez la valeur manquante et signalez-la si toute correction inventerait une information.
La bonne décision dépend du taux de manque, de sa cause et de l’usage du champ. Une moyenne calculée sur des valeurs imputées ne doit pas être présentée comme une mesure observée.
Détecter et gérer les valeurs aberrantes
Une valeur aberrante n’est pas automatiquement une erreur. Un achat exceptionnel peut être valide, tandis qu’un montant de zéro peut signaler un défaut de saisie ou une commande gratuite.
Utilisez des bornes métier, des quantiles ou l’écart interquartile, puis vérifiez les cas détectés avec le contexte. Corrigez, excluez ou marquez la valeur selon cette vérification, et conservez la décision dans le journal.
Vérifier les types de données
Chaque colonne doit avoir un type compatible avec son usage : entier, nombre décimal, texte, date, booléen ou identifiant. Un identifiant comme « 00124 » doit rester du texte si ses zéros initiaux ont une signification.
Contrôlez aussi les valeurs nulles, l’encodage des caractères et la précision numérique. Les conversions silencieuses peuvent transformer une date invalide en valeur différente sans produire d’erreur visible.
Parser et transformer les données
Le parsing sépare une colonne composite en champs exploitables, par exemple une adresse ou un horodatage. La transformation peut aussi agréger des événements, extraire un domaine d’e-mail ou convertir une chaîne JSON en colonnes.
Conservez la colonne originale lorsqu’une transformation est irréversible. Pour automatiser ces opérations en Python, le guide des variables Python, du typage et de la mémoire aide à éviter les conversions ambiguës.
Renforcer les contraintes d’intégrité
Les contraintes empêchent de réintroduire des erreurs après le nettoyage. Ajoutez des clés uniques, des champs obligatoires, des relations entre tables et des contrôles de plage lorsque votre base de données le permet.
Une commande qui référence un client inexistant, par exemple, doit être bloquée ou placée dans une file d’exception. Cette validation structurelle complète les contrôles statistiques.
Valider l’exactitude et la cohérence des données
Comparez les données nettoyées avec une source de référence lorsque c’est possible. Vérifiez aussi des règles croisées : une date de livraison ne doit pas précéder une date de commande, et le total d’une facture doit correspondre à ses lignes selon la règle d’arrondi retenue.
Pour les règles réglementaires ou contractuelles, vérifiez la version applicable à la date du traitement. Le nettoyage ne constitue pas une preuve de conformité juridique.
Les étapes du nettoyage d’un jeu de données
1. Importer et examiner les données
Importez la source sans modifier ses valeurs, détectez l’encodage et affichez un échantillon. Notez le volume initial, les types détectés et les erreurs d’importation.
2. Supprimer les colonnes et observations inutiles
Retirez les colonnes sans usage documenté et les lignes manifestement hors périmètre. Ne supprimez pas une colonne simplement parce qu’elle contient des valeurs manquantes : elle peut servir à expliquer le manque.
3. Corriger les incohérences de structure et de format
Harmonisez les noms de colonnes, les encodages, les unités, les dates et les types. Exécutez cette étape avant les jointures, car deux valeurs visuellement similaires peuvent rester différentes pour le système.
4. Traiter les doublons et les valeurs manquantes
Appliquez vos clés de déduplication, puis la politique définie pour les champs vides. Exportez le nombre de lignes supprimées, fusionnées ou imputées.
5. Identifier et traiter les outliers
Calculez des seuils adaptés au domaine et examinez les observations signalées. Ne remplacez jamais automatiquement toutes les valeurs extrêmes par une moyenne ou une médiane.
6. Contrôler et documenter le résultat final
Relancez le profilage, comparez les indicateurs avant et après et testez les règles d’intégrité. Versionnez le script ou la requête afin qu’un autre traitement donne le même résultat.
Adapter la méthode au type de données
Nettoyer des données structurées
Les données structurées, comme une table SQL ou un fichier CSV, se prêtent aux contrôles de schéma, aux contraintes et aux requêtes de profilage. Commencez par les clés, les types et les relations avant de corriger les valeurs.
Nettoyer des données semi-structurées
Les données JSON, XML ou issues d’une API demandent d’abord une normalisation de la structure. Gérez les champs absents, les tableaux imbriqués, les versions de schéma et les objets qui changent de type.
Si les fichiers viennent de plusieurs services, documentez la provenance et le moment de collecte. Une architecture de stockage adaptée, comme celle présentée dans ce comparatif du cloud public, privé ou hybride, influence le coût et la traçabilité du pipeline.
Préparer les données pour le machine learning
Pour le machine learning, séparez le nettoyage des ensembles d’entraînement, de validation et de test. Calculez les paramètres d’imputation ou de standardisation sur l’entraînement uniquement, sinon vous introduisez une fuite de données.
Traitez les classes rares, les variables catégorielles et les doublons proches avec prudence. Une ligne dupliquée entre entraînement et test peut donner une performance artificiellement élevée.
Automatiser le data cleaning
Nettoyage avec Python, pandas et SQL
pandas convient aux fichiers et traitements exploratoires, tandis que SQL est plus adapté aux données déjà stockées dans une base. Écrivez des fonctions ou des requêtes idempotentes, c’est-à-dire qu’une seconde exécution ne modifie pas davantage le résultat.
Ajoutez des tests sur les colonnes obligatoires, les types et les volumes. L’automatisation devient fragile lorsqu’elle remplace silencieusement les erreurs par des valeurs par défaut.
Outils no-code et low-code : KNIME, Power Query et OpenRefine
Power Query est pratique pour des flux Excel et Microsoft, OpenRefine pour explorer et rapprocher des valeurs textuelles, et KNIME pour construire des workflows visuels plus longs. Ces outils réduisent le code, mais ils ne suppriment pas le besoin de règles métier.
Choisissez une solution qui exporte l’historique des étapes et permet de rejouer le traitement. Un nettoyage manuel difficile à reproduire coûte du temps dès que le fichier revient chaque semaine.
Contrôles automatisés dans un pipeline de données
Placez les contrôles après chaque ingestion et avant la publication d’un tableau de bord. Bloquez le flux lorsque le taux de valeurs manquantes, le volume ou le nombre de clés invalides dépasse un seuil documenté.
Pour des volumes importants, séparez stockage brut, données nettoyées et données prêtes pour l’analyse. Cette séparation facilite la reprise après incident et limite les modifications destructrices.
Bonnes pratiques pour obtenir des données fiables
Documenter chaque modification et chaque hypothèse
Pour chaque règle, indiquez la raison, le champ concerné, la transformation, la date et le responsable. Notez aussi les hypothèses, comme l’interprétation d’une date ambiguë ou le choix d’une médiane.
Appliquer les mêmes règles à tout le dataset
Une correction appliquée à quelques lignes crée des exceptions invisibles. Centralisez les règles et exécutez-les sur l’ensemble du jeu, sauf si une segmentation documentée impose un traitement différent.
Mesurer la qualité avant et après le nettoyage
- Mesurez le taux de valeurs manquantes par colonne.
- Comptez les doublons et les identifiants non uniques.
- Calculez le taux de valeurs qui échouent aux règles de format et de plage.
- Suivez le volume supprimé, fusionné ou imputé.
Un taux d’erreur qui baisse ne prouve pas qu’une donnée est exacte : il montre seulement que vos règles sont respectées. Comparez ces indicateurs avec une référence métier et revalidez-les lorsque le schéma ou la source change.
Mettre en place une surveillance continue
Le nettoyage n’est pas une opération unique si la source continue d’évoluer. Planifiez des contrôles à chaque import et alertez lorsqu’un indicateur sort de sa plage habituelle.
Revoyez les seuils après une modification de formulaire, d’API ou de logiciel. Les formats, prix et règles d’un outil peuvent changer, donc vérifiez les paramètres à la date de chaque mise à jour.
Comment choisir la bonne méthode de data cleaning ?
Choisir entre corriger, supprimer, imputer ou signaler une valeur
Corrigez quand une source fiable permet de connaître la bonne valeur. Supprimez quand la ligne est hors périmètre ou irrécupérable, imputez quand une estimation documentée reste acceptable, et signalez quand l’incertitude doit rester visible.
Le choix dépend du coût d’une fausse correction. Dans une analyse exploratoire, une ligne exclue peut être acceptable ; dans un historique financier ou médical, elle peut nécessiter une revue humaine et des contrôles renforcés.
Adapter l’approche au volume et à la sensibilité des données
Un fichier ponctuel de quelques centaines de lignes peut être nettoyé dans Power Query ou OpenRefine. Un flux quotidien de plusieurs millions de lignes demande des requêtes SQL, des tests automatisés, une journalisation et une gestion des accès.
Limitez les copies contenant des données personnelles et chiffrez les fichiers au repos et pendant leur transfert selon votre environnement. Pour les exigences de sécurité, vérifiez les règles internes et la réglementation applicable avant de centraliser les données.
Trouver le bon équilibre entre précision, coût et automatisation
Automatisez les erreurs déterministes, comme un espace final ou un format de date clairement défini. Réservez la revue humaine aux cas ambigus, aux outliers à fort impact et aux conflits entre sources.
Le meilleur outil est celui qui produit un résultat reproductible à un coût proportionné au risque. Un script simple et testé vaut souvent mieux qu’une plateforme coûteuse utilisée sans dictionnaire de données.
FAQ sur les méthodes de data cleaning
Quelle est la différence entre data cleaning et data transformation ?
Le data cleaning corrige les défauts de qualité, tandis que la data transformation convertit les données pour les rendre compatibles avec un modèle ou une analyse. Une conversion de devise peut être une transformation ; la correction d’un montant négatif impossible relève du nettoyage.
Faut-il toujours supprimer les valeurs aberrantes ?
Non. Une valeur aberrante peut représenter un événement réel et utile. Vérifiez son contexte, appliquez une règle métier et préférez souvent un indicateur ou un examen manuel à une suppression automatique.
Comment traiter un grand nombre de valeurs manquantes ?
Commencez par rechercher la cause : champ facultatif, panne d’importation ou changement de schéma. Si le manque est systématique, corrigez la source ; sinon, mesurez le biais d’une imputation et conservez un indicateur de valeur imputée.
Quel outil choisir pour nettoyer ses données ?
Choisissez Power Query pour des fichiers récurrents dans Microsoft 365, OpenRefine pour des rapprochements textuels, Python pour des traitements personnalisés et SQL pour des bases volumineuses. Testez la reproductibilité, l’export du journal et la gestion des accès avant de retenir l’outil.
