Fiabiliser les données avec Streamlit et Pandas

← Retour
Business IA Gouvernance data Data Cleaning QDD

Ressources

Repo Github : https://github.com/flohms18/streamlit-data-cleaning

Introduction

Une étude de l'institut Gartner publié fin 2025, estime que 63 % des organisations n'ont pas confiance dans leur pratiques de data management pour optimisées la qualité de ces données. Selon l'étude mené en 2024, de nombreuses organisations n'ont pas leurs données suffisament fiable pour alimenter les modèles d'IA.

En conséquence, Gartner prédit que 60 % des projets IA échoueront d'ici la fin 2026. C'est un vrai sujet pour les entreprises, car une IA qui s'appuie sur des données non fiables est en capacité de répondre aux besoins exprimés par les métiers.

Une donnée brute n'a de valeur qu'une fois transformée. C'est dans cette logique que j'ai conçu une application développée avec Streamlit, une bibliothèque Python qui permet de déployer rapidement des applications data interactives.

Pourquoi utiliser Streamlit ?

Comme mentionné précédemment, Streamlit est une bibliothèque Python permettant de développer rapidement des applications web interactives.

Sa principale caractéristique est de simplifier considérablement la création de l’interface utilisateur, sans nécessiter de développer directement les différents éléments du front-end en HTML, CSS ou JavaScript.

Les principales caractéristiques d'une donnée non fiable

Des données de mauvaise qualité possède plusieurs traits qui sont finalement assez communes dans les systèmes d'information des organisations. On les regroupe généralement autour de plusieurs dimensions :

  • Incomplétude : Des champs obligatoires vides, des fiches clients sans email ou des contrats sans date d'échéance.
  • Inexactitude : La donnée existe mais ne reflète pas la réalité : une adresse postal périmée, montant mal saisi...
  • Doublons : Le même client, fournisseur ou contrat existe plusieurs fois, parfois avec de lègères variations (Société Générale, SOCIETE GENERALE SA...)
  • Incohérence entre systèmes : Un entrepôt de données et un CRM (Customer Relationship Management) ne montrent pas les mêmes indications pour une même donnée.
  • Non-conformité de format : des dates en JJ/MM/AAAA d'un côté et en AAAA-MM-JJ de l'autre.
  • Obsolescence (fraîcheur) : la donnée était juste à un instant donné, mais elle n'est plus mise à jour, ou elle arrive trop tard pour être utile.

Au-delà de ces caractéristiques, l'ambiguïté sémantique (un même terme recouvre des définitions différentes selon les métiers. C'est quoi un client « actif » ?) et absence de traçabilité (personne ne sait d'où vient la donnée, ni quelles transformations elle a subies).

Quelle est l'objectif l'application ?

Quand j'ai conçu cette application, j'avais deux objectifs en tête. Le premier était de démontrer combien une donnée brute, non transformée, complique le travail de tout responsable métier qui souhaite fonder ses décisions sur l'analyse des données.

Le second était de répondre à un besoin concret : les équipes métier manquent souvent d'autonomie face à ce problème et doivent solliciter les équipes IT pour rendre leurs données exploitables.

C'est dans cette logique que j'ai d'abord voulu concevoir une application minimaliste qui fait du data cleaning qui consiste consiste à identifier et à corriger les erreurs et les incohérences présentes dans les ensembles de données brutes afin d'améliorer la qualité des données.

Un utilisateur métier peut ensuite installer l'application en local pour y importer un fichier CSV, format d'échange très répandu, notamment pour les exports issus des outils métier.

Du fichier brut à la donnée exploitable

Une fois le fichier importé, son contenu s'affiche sous forme de tableau, ce qui donne à l'utilisateur métier une vue d'ensemble des données à fiabiliser.

Plusieurs options s'offrent ensuite à lui : supprimer les doublons présents dans le fichier, ou encore les lignes comportant des valeurs manquantes (NaN).

Un nouveau tableau s'affiche alors, débarrassé des doublons et des valeurs manquantes. Il ne reste plus à l'utilisateur qu'à télécharger cette version nettoyée du fichier pour mener son analyse sur une base plus saine.

Les prochaines étapes

Dans Forge, j'adopte chaque réalisation technique comme un produit, au gré de mes idées, de mon apprentissage et des innovations.

La prochaine étape consistera à permettre à l'utilisateur métier de compléter lui-même un champ vide, plutôt que de supprimer la ligne entière. La suppression reste en effet une manière radicale de traiter une donnée de mauvaise qualité : chaque ligne écartée appauvrit le jeu de données et peut fausser l'analyse qui en découle.