Guide du débutant sur la visualisation des données avec Python et Seaborn
La visualisation des données est une technique qui permet aux data scientists de convertir des données brutes en graphiques et tracés qui génèrent des informations précieuses. Les graphiques réduisent la complexité des données et les rendent plus faciles à comprendre pour n'importe quel utilisateur.
Il existe de nombreux outils pour effectuer la visualisation des données, tels que Tableau, Power BI, ChartBlocks, etc., qui sont des outils sans code. Ce sont des outils très puissants et ils ont leur public. Cependant, lorsque vous travaillez avec des données brutes qui nécessitent une transformation et un bon terrain de jeu pour les données, Python est un excellent choix.
Bien que plus compliqué car il nécessite des connaissances en programmation, Python vous permet d'effectuer toute manipulation, transformation et visualisation de vos données . Il est idéal pour les scientifiques des données.
Il y a de nombreuses raisons pour lesquelles Python est le meilleur choix pour la science des données, mais l'une des plus importantes est son écosystème de bibliothèques. De nombreuses grandes bibliothèques sont disponibles pour que Python fonctionne avec des données telles que numpy
pandas
matplotlib
[19659005] tensorflow .
Matplotlib
est probablement la bibliothèque de traçage la plus reconnue, disponible pour Python et d'autres langages de programmation comme R
. C'est son niveau de personnalisation et d'opérabilité qui le définit en premier lieu. Cependant, certaines actions ou personnalisations peuvent être difficiles à gérer lors de son utilisation.
Les développeurs ont créé une nouvelle bibliothèque basée sur matplotlib appelée seaborn
. Seaborn
est aussi puissant que matplotlib
tout en fournissant une abstraction pour simplifier les graphiques et apporter des fonctionnalités uniques.
Dans cet article, nous allons Concentrez-vous sur la façon de travailler avec Seaborn pour créer les meilleures parcelles de sa catégorie. Si vous voulez continuer, vous pouvez créer votre propre projet ou simplement consulter mon seaborn guide project on GitHub.
Qu'est-ce que Seaborn?
Seaborn est une bibliothèque pour créer des graphiques statistiques en Python. Il s'appuie sur matplotlib et s'intègre étroitement aux structures de données de pandas .
Seaborn design vous permet d'explorer et de comprendre votre données rapidement. Seaborn fonctionne en capturant des cadres de données entiers ou des tableaux contenant toutes vos données et en exécutant toutes les fonctions internes nécessaires à la cartographie sémantique et à l'agrégation statistique pour convertir les données en tracés informatifs.
[Lire: ]
Installation de Seaborn
Installation seaborn
est aussi simple que d'installer une bibliothèque à l'aide de votre gestionnaire de paquets Python préféré. Lors de l'installation de seaborn
la bibliothèque installera ses dépendances, y compris matplotlib
pandas
numpy
et scipy
.
Installons ensuite Seaborn, et bien sûr, aussi le paquet notebook pour accéder à nos données aire de jeux.
pipenv install seaborn notebook
De plus, nous allons importer quelques modules avant de commencer.
import seaborn as sns
importer pandas comme pd
import numpy as np
import matplotlib
Construire vos premiers graphiques
Avant de pouvoir commencer à tracer quoi que ce soit, nous avons besoin de données. La beauté de seaborn
est qu'il fonctionne directement avec les dataframes pandas
ce qui le rend très pratique. Plus encore, la bibliothèque est livrée avec des ensembles de données intégrés que vous pouvez maintenant charger à partir du code, pas besoin de télécharger manuellement les fichiers.
Voyons comment cela fonctionne en chargeant un ensemble de données contenant des informations sur les vols.
Nuage de points
Un nuage de points est un diagramme qui affiche des points en fonction de deux dimensions du jeu de données. Créer un nuage de points dans la bibliothèque Seaborn est si simple et avec une seule ligne de code.
sns.scatterplot (data = flight_data, x = "year", y = "passagers")
Très facile, non? La fonction scatterplot
attend le jeu de données que nous voulons tracer et les colonnes représentant les x
and y [19659010] Axe .
Graphique linéaire
Ce graphique trace une ligne qui représente la révolution de données continues ou catégorielles. C'est un type de graphique populaire et connu, et il est très facile à produire. Comme auparavant, nous utilisons la fonction lineplot
avec le jeu de données et les colonnes représentant les x
and y
axe. Seaborn
fera le reste.
sns . lineplot (data = vols _data, x = "year" y = "passagers" )
Bar Plot
C'est probablement le type de graphique le plus connu, et comme vous l'avez peut-être prédit, nous pouvons tracer ce type de graphique avec seaborn
de la même manière que nous le faisons pour les lignes et les nuages de points en utilisant la fonction barplot
.
sns . barplot (data = vols ] _data, x = "année" y = "passagers" )
Il est très coloré, je sais, nous apprendrons comment le personnaliser plus tard dans le guide.
Extension avec matplotlib
Seaborn s'appuie sur matplotlib
étendant sa fonctionnalité et abstraction de la complexité. Cela dit, il ne limite pas ses capacités. Toute carte seaborn
peut être personnalisée en utilisant les fonctions de la bibliothèque matplotlib
. Il peut être utile pour des opérations spécifiques et permet à seaborn de tirer parti de la puissance de matplotlib
sans avoir à réécrire toutes ses fonctions.
Disons que vous, par exemple, voulez tracer plusieurs graphiques simultanément en utilisant seaborn
; alors vous pouvez utiliser la fonction subplot
de matplotlib
.
diamonds_data = sns . load_dataset ( 'diamants' )
plt . sous-tracé ( 1 2 1 )
sns . countplot (x = 'carat' data = diamonds_data)
plt . sous-tracé ( 1 2 2 )
sns . countplot (x = 'depth' data = diamonds_data)
En utilisant la fonction subplot
nous pouvons dessiner plus d'un graphique sur un seul graphique. La fonction prend trois paramètres, le premier est le nombre de lignes, le second est le nombre de colonnes et le dernier est le numéro de tracé.
Nous rendons un seaborn
graphique dans chaque sous-tracé, mélangeant les fonctions matplotlib
avec seaborn
fonctions.
Seaborn aime les Pandas
Nous en avons déjà parlé , mais seaborn
aime pandas
à un point tel que toutes ses fonctions s'ajoutent aux pandas [19659010] base de données. Jusqu'à présent, nous avons vu des exemples d'utilisation de
seaborn
avec des données préchargées, mais que se passe-t-il si nous voulons dessiner un graphique à partir de données que nous avons déjà chargées en utilisant pandas
?
drinks_df = pd . read_csv ( "data / drinks.csv" )
sns . barplot (x = "country" y = "beer_servings" data = drinks_df)
Création de superbes graphiques avec des styles
Seaborn vous donne la possibilité de modifier l'interface de vos graphiques et propose cinq styles différents prêts à l'emploi: darkgrid whitegrid dark white et ticks .
sns . set_style ( "darkgrid" )
sns . lineplot (data = data, x = "year" y = "passagers" )
Voici un autre exemple
sns . set_style ( "whitegrid" )
sns . lineplot (données = vols _data, x = "année" y = "passagers" )
Cas d'utilisation intéressants
Nous connaissons les bases de seaborn
mettons-les maintenant en pratique en créant plusieurs graphiques sur le même jeu de données. Dans notre cas, nous utiliserons l'ensemble de données «astuces» que vous pouvez télécharger directement en utilisant seaborn
.
Commencez par charger l'ensemble de données.
J'aime imprimer les premières lignes de l'ensemble de données pour avoir une idée des colonnes et des données elles-mêmes. Habituellement, j'utilise des fonctions pandas
pour résoudre certains problèmes de données comme null
valeurs et ajouter des informations à l'ensemble de données qui peuvent être utiles . Vous pouvez en savoir plus à ce sujet dans le guide pour travailler avec les pandas .
Créons une colonne supplémentaire à l'ensemble de données avec le pourcentage qui représente le montant du pourboire sur le total de le projet de loi.

Ensuite, nous pouvons commencer à tracer des graphiques.
Comprendre les pourcentages de pourboire
Essayons d'abord de comprendre le pourcentage de pourboire Distribution. Pour cela, nous pouvons utiliser histplot
qui générera un histogramme.
sns . histplot (tips_df [ "tip_percentage" ]binwidth = 0,05 )
C'est bien, nous avons dû personnaliser la propriété binwidth
pour la rendre plus lisible, mais maintenant nous pouvons rapidement apprécier notre compréhension des données. La plupart des clients donneraient un pourboire de 15 à 20%, et nous avons des cas extrêmes où le pourboire est supérieur à 70%. Ces valeurs sont des anomalies, et elles valent toujours la peine d'être explorées pour déterminer si les valeurs sont des erreurs ou non.
Il serait également intéressant de savoir si le pourcentage de pourboire change en fonction du moment de la journée,
sns ]. histplot (data = tips_df, x = "tip_percentage" binwidth = 0,05 hue = "heure" )
Cette fois, nous avons chargé le graphique avec le jeu de données complet au lieu d'une seule colonne, puis nous avons défini la propriété hue
sur la colonne heure
. Cela forcera le graphique à utiliser des couleurs différentes pour chaque valeur de time
et y ajoutera une légende.
Total des conseils par jour de la semaine
Une autre métrique intéressante est de savoir à combien d'argent en pourboires le personnel peut s'attendre selon le jour de la semaine.
sns . barplot (data = tips_df, x = ] "day" y = "tip" estimateur = np . sum)
Il semble que vendredi soit un bon jour pour rester à la maison.
Impact de la taille et du jour de la table sur le pourboire
Parfois, nous voulons comprendre comment les variables jouent ensemble pour déterminer la sortie. Par exemple, quel est l'impact du jour de la semaine et de la taille de la table sur le pourcentage de pourboire?
Pour dessiner le graphique suivant, nous combinerons la fonction pivot
des pandas à pré- traiter les informations, puis dessiner une carte thermique.
pivot = tips_df . pivot_table (
index = [ "jour" ],
colonnes = [ "taille" ],
valeurs = "tip_percentage" ,
aggfunc = np . moyenne)
sns . heatmap (pivot)
Conclusion
Bien sûr, nous pouvons faire beaucoup plus avec seaborn
et vous pouvez en apprendre davantage sur les cas d'utilisation en visitant le documentation officielle . J'espère que vous avez apprécié cet article autant que j'ai aimé l'écrire.
Cet article a été initialement publié sur Live Code Stream par Juan Cruz Martinez ( twitter: @bajcmartinez ), fondateur et éditeur de Live Code Stream, entrepreneur, développeur, auteur, orateur et faiseur de choses.
Live Code Stream est également disponible sous forme de bulletin hebdomadaire gratuit. Inscrivez-vous pour recevoir des mises à jour sur tout ce qui concerne la programmation, l'IA et l'informatique en général.
Source link