Comment préparer vos données pour les visualisations

Preparing data for visualizations

Python

Sans utiliser Tableau Prep ou Alteryx

Photo de Robert Katzki sur Unsplash

Vous souhaitez vous lancer dans votre prochain projet de visualisation de données ? Commencez par vous familiariser avec le nettoyage de données. Le nettoyage de données est une étape essentielle dans n’importe quel pipeline de données, transformant les entrées de données brutes et « sales » en données plus fiables, pertinentes et concises. Des outils de préparation de données tels que Tableau Prep ou Alteryx ont été créés à cet effet, mais pourquoi dépenser de l’argent sur ces services lorsque vous pouvez accomplir la tâche avec des langages de programmation open-source comme Python ? Cet article vous guidera à travers le processus de préparation des données pour la visualisation en utilisant des scripts Python, offrant une alternative plus rentable aux outils de préparation de données.

Note : Tout au long de cet article, nous nous concentrerons sur la préparation des données pour Tableau afin de les visualiser, mais les concepts principaux s’appliquent également à d’autres outils de business intelligence.

Je comprends. Le nettoyage de données semble simplement être une autre étape dans le processus déjà long de donner vie à vos visualisations ou tableaux de bord. Mais c’est crucial, et cela peut être agréable. C’est ainsi que vous vous familiarisez avec votre ensemble de données, en examinant de manière approfondie les données que vous avez et celles que vous n’avez pas, ainsi que les décisions conséquentes que vous devez prendre pour atteindre vos objectifs d’analyse finale.

Alors que Tableau est un outil de visualisation de données polyvalent, parfois la route pour arriver à votre réponse n’est pas claire. C’est là que le traitement de votre ensemble de données avant de le charger dans Tableau peut être votre plus grand assistant secret. Explorons quelques raisons clés pour lesquelles le nettoyage de données est bénéfique avant de l’intégrer à Tableau :

  • Élimine les informations non pertinentes : Les données brutes contiennent souvent des informations inutiles ou répétitives qui peuvent encombrer votre analyse. En nettoyant les données, vous pouvez supprimer les déchets et concentrer vos visualisations sur les fonctionnalités de données les plus pertinentes.
  • Simplifie la transformation des données : Si vous avez une vision claire de la visualisation que vous avez l’intention de produire, effectuer ces pré-transformations avant de charger les données dans Tableau peut rationaliser le processus.
  • Facilite la transférabilité au sein des équipes : Lorsque les sources de données sont régulièrement mises à jour, les nouvelles additions peuvent introduire des incohérences et potentiellement briser Tableau. Avec les scripts Python et la description du code (plus formellement connue sous le nom de documentation de balisage), vous pouvez partager efficacement et donner le pouvoir à d’autres de comprendre votre code et résoudre tout problème de programmation qui pourrait survenir.
  • Gain de temps pour les rafraîchissements de données : Les données qui doivent être régulièrement actualisées peuvent bénéficier de l’utilisation de l’API Hyper – une application qui produit des formats de fichiers Hyper spécifiques à Tableau et permet des téléchargements automatisés d’extraits de données tout en rendant le processus de rafraîchissement des données plus efficace.

Maintenant que nous avons couvert certains avantages de la préparation de vos données, mettons ceci en pratique en créant un simple pipeline de données. Nous explorerons comment le nettoyage et le traitement des données peuvent être intégrés dans un flux de travail et aideront à rendre vos visualisations plus faciles à gérer.

Création d’un pipeline de données à l’aide de scripts Python

Image de l'auteur

Le parcours que prendront nos données est assez simple : nettoyage de données, traitement des données pour les visualisations et transformation en fichiers Hyper prêts pour Tableau pour une intégration transparente.

Une note finale avant de plonger dans notre exemple de travail est que pour la conversion de fichiers Hyper, vous devrez télécharger la bibliothèque pantab. Cette bibliothèque simplifie la conversion des dataframes Pandas en extraits .hyper Tableau. Vous pouvez facilement y parvenir en utilisant le code suivant dans le terminal de votre environnement choisi (pour ceux qui sont moins familiers avec les environnements, cet article d’introduction est un excellent guide sur ce qu’ils sont et comment installer certaines bibliothèques) :

#exécuter la ligne de code suivante pour installer la bibliothèque pantab dans votre environnementpip install pantab

Tutoriel : Préparation de données avec Python explorant les licences de véhicules électriques au Canada

Les visualisations de données que nous visons à produire se concentrent sur la popularité des différents fabricants et modèles de voitures électriques en utilisant les données gouvernementales disponibles de Statistique Canada.

Il est important de noter que cela s’appuie sur un ensemble de données précédemment exploré dans mon article précédent: Analyse des véhicules électriques avec R . Si vous êtes intéressé par la compréhension de l’exploration initiale de l’ensemble de données et la justification des décisions prises, veuillez vous y référer pour plus de détails. Ce tutoriel se concentre sur la construction des scripts Python où à chaque étape suivant les entrées initiales, nous sauvegarderons la sortie de chaque script Python dans leurs dossiers respectifs, comme indiqué ci-dessous:

Image by Author

Le dossier processus garantit que le pipeline est bien organisé et que nous sommes en mesure de garder une trace de chaque sortie dans le projet. Passons maintenant à la construction de notre premier script Python!

Nettoyage des données

Le script initial dans notre pipeline suit les étapes fondamentales du nettoyage des données, qui pour cet ensemble de données comprend: la conservation/le renommage des colonnes pertinentes, la suppression des nulls et/ou des doublons, et la cohérence des valeurs des données.

Nous pouvons commencer en spécifiant les emplacements de nos fichiers d’entrée et de destination pour les fichiers de sortie. Cette étape est importante car elle nous permet d’organiser différentes versions des fichiers dans le même emplacement, dans ce cas, nous modifions les sorties de fichiers sur une base mensuelle, donc chaque sortie de fichier est séparée par mois comme indiqué à la fin du nom de fichier 2023_04 :

Le code suivant lit les entrées .csv d’origine et définit les colonnes que nous voulons conserver. Dans ce cas, nous sommes intéressés par la préservation des informations liées au type de modèles achetés et nous ignorons les colonnes concernant les concessionnaires automobiles ou toute autre colonne non pertinente.

Maintenant, nous pouvons raccourcir les noms de colonnes, en supprimant les espaces blancs en tête ou en queue, et ajouter des underscores pour une meilleure compréhension.

Ensuite, après avoir vérifié qu’il n’y a que quelques entrées nulles dans l’ensemble de données, nous supprimerons les données nulles avec la fonction .dropna. À ce stade, vous voudriez également supprimer les doublons, mais dans le cas de cet ensemble de données particulier, nous ne le ferons pas. C’est parce qu’il y a une quantité substantielle d’informations répétées, et en l’absence d’identificateurs de ligne, la suppression des doublons entraînerait une perte de données.

La dernière étape consiste à enregistrer nos données sous forme de fichier .csv dans un emplacement de dossier approprié qui serait placé dans le dossier clean_data de notre répertoire partagé.

Remarquez comment nous avons référencé le fichier en utilisant __file__, et spécifié le répertoire de fichier en utilisant des commandes bash où ../ indique le dossier précédent. Cela conclut notre script de nettoyage de données. Passons maintenant à la phase de traitement des données!

Un accès au code de travail complet et aux scripts assemblés peut être trouvé dans mon dépôt Github ici .

Traitement des données pour les visualisations

Revisitons les objectifs des visualisations que nous essayons d’atteindre, qui visent à mettre en évidence les changements de popularité des véhicules électriques enregistrés. Pour montrer efficacement cela, nous voulons que notre ensemble de données final prêt pour Tableau comprenne les fonctionnalités suivantes, que nous coderons:

  • Comptes absolus de véhicules par année
  • Comptes proportionnels de véhicules par année
  • Plus grandes augmentations et diminutions de véhicules enregistrés
  • Classement des véhicules enregistrés
  • Classement précédent des véhicules enregistrés pour comparaison

En fonction des visualisations que vous souhaitez produire, la création de vos colonnes idéales peut être un processus itératif. Dans mon cas, j’ai inclus la dernière colonne après avoir construit mes visualisations car je savais que je voulais fournir au spectateur une comparaison visuelle des différences de classement, donc le script Python a été ajusté en conséquence.

Pour le code suivant, nous nous concentrerons sur l’ensemble de données agrégées de modèle car l’autre ensemble de données pour les marques est très similaire. Définissons d’abord nos fichiers d’entrée et de sortie inputfile et outputfile :

Remarquez comment nous avons fait référence au inputfile à partir du dossier clean_data, qui était la sortie de notre script de nettoyage des données.

Le code ci-dessous lit les données et crée un cadre de données des comptes agrégés par Vehicle_Make_and_Model et Calendar_Year:

La fonction pivot fonctionne de manière similaire à la fonction de tableau croisé dynamique dans Excel où elle prend chacune des valeurs dans Calendar_Year comme entrée de colonne.

Ensuite, le script utilise une boucle For pour créer des entrées per_1K. Cela calcule les proportions de chaque modèle afin de pouvoir comparer chaque modèle sur la même échelle et crée une colonne pour chaque année:

En calculant les proportions par année, nous pouvons calculer les plus grandes augmentations et diminutions de chaque modèle depuis le début de l’ensemble de données en 2019 jusqu’à la dernière année complète des données en 2022.

Ici, la fonction melt est utilisée pour repivoter les colonnes séparées per_1K par année en lignes, de sorte que nous n’ayons qu’une seule colonne pour per_1K et leurs valeurs associées.

Le code ci-dessous nous permet de joindre nos comptes absolus et les autres calculs que nous venons de créer.

Nous pouvons maintenant créer la colonne rank en utilisant les comptes de licence et trier ces valeurs par Vehicle_Make_and_Model et Calendar_Year.

La dernière colonne à créer est la colonne previous_rank en utilisant la fonction shift.

Enfin, nous sommes en mesure de sauvegarder la sortie dans le chemin du dossier clean_model de notre pipeline, en nous fournissant un ensemble de données visuellement prêt.

Comme rappel amical, le code de script Python complet, y compris celui pour l’ensemble de données de marque propre clean_brand, peut être trouvé sur mon référentiel GitHub ici.

Transformation de vos fichiers de données finaux en formats de fichiers .hyper

La dernière étape de notre pipeline est relativement simple car il ne nous reste plus qu’à convertir les fichiers traités .csv que nous avons créés en formats de fichiers .hyper. Cela devrait être relativement simple tant que vous avez téléchargé la bibliothèque pantab comme indiqué précédemment.

Il convient de mentionner que dans Tableau, les données connectées peuvent avoir une connexion en direct ou être extraites. Une connexion en direct garantit qu’il y a un flux continu de données, avec des mises à jour provenant de la source reflétées presque immédiatement dans Tableau. Les données extraites impliquent que Tableau crée un fichier local avec une extension de fichier .hyper qui contient une copie des données (une description détaillée des sources de données peut être trouvée ici). Son principal avantage est sa capacité de chargement rapide où Tableau peut accéder et présenter l’information de manière plus efficace, ce qui est particulièrement bénéfique avec de grands ensembles de données.

Le code pour les scripts de conversion de fichier hyper commence par charger les packages pandas et pantab, suivi de la lecture de l’ensemble de données cleaned_model dont vous auriez besoin pour Tableau.

La dernière ligne de code utilise la fonction frame_to_hyper qui produit les fichiers .hyper et les sauvegarde dans le dossier hyper.

Enfin, nous pouvons facilement charger des formats de fichiers .hyper dans Tableau en ouvrant un nouveau classeur, et dans la section sélectionner un fichier, vous pouvez choisir le fichier de votre choix à charger en sélectionnant plus. Lorsque nous chargeons notre fichier ev_vehicle_models.hyper, il devrait apparaître comme une extraction Tableau comme dans la capture d’écran ci-dessous, où vos données sont prêtes à construire vos visuels !

Réflexions finales

En incorporant une planification réfléchie dans vos visualisations, vous pouvez simplifier la maintenance de vos tableaux de bord grâce à la création d’un pipeline de données simple. Ne vous inquiétez pas si vous manquez de ressources; les programmes de codage open source tels que Python offrent des fonctionnalités puissantes. Enfin, comme rappel amical, pour accéder aux scripts Python, veuillez consulter mon référentiel GitHub ici.

Toutes les images, sauf indication contraire, sont de l’auteur.

Références

  1. Salesforce, Tableau Hyper API , 2023
  2. R.Vickery , A Data Scientists Guide to Python Virtual Environments , Jan 2021
  3. K.Flerlage, Tableau Data Sources Part 1: Data Source Types , Jul 2022

We will continue to update IPGirl; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

AI

Carlos Alcaraz contre les trois grands

Pendant des décennies, le tennis masculin a été synonyme de sa domination par le trio de choc composé de Roger Federe...

AI

Une approche systématique pour choisir la meilleure technologie/fournisseur version MLOps

L'apprentissage automatique devient une partie intégrante de tous les aspects de notre vie. Il y a quelque temps, j'a...

AI

Fondements de la statistique pour les scientifiques et analystes de données

Concepts statistiques clés pour votre parcours en science des données ou en analyse de données.

Science des données

10 Astuces et Conseils Jupyter Notebook pour les Scientifiques de Données

Débloquez le potentiel complet de Jupyter Notebook avec des astuces et techniques d'experts, y compris des raccourcis...

Science des données

Un guide pour la gestion des variables catégorielles en Python

La manipulation de variables catégorielles dans un projet de science des données ou d'apprentissage automatique n'est...

AI

Semaine du retour aux bases 2 Base de données, SQL, gestion des données et concepts statistiques

Bienvenue à la deuxième semaine de la série «Retour aux bases» de VoAGI. Cette semaine, nous plongeons dans le monde ...