程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Les 3 étapes de la visualisation des données Python, vous savez?

編輯:Python

PythonTrois étapes pour réaliser la visualisation:

  • Identifier les problèmes,Sélectionner un dessin

  • Conversion des données,Fonction d'application

  • Paramètres,En un coup d'oeil.

J'aime cet article.、Attention、- Oui..

Note::Communication Technique、Accès à l'information,À plus tard

1、Tout d'abord,,Pour savoir quelles bibliothèques nous utilisons pour dessiner?

matplotlib

PythonMoyenneLa galerie de base estmatplotlib,Est l'un des plus fondamentauxPythonVisualisez la Bibliothèque,En général, ça vient dematplotlibMains en l'air.PythonVisualisation des données,Et commencer à faire des extensions longitudinales et horizontales.

Seaborn

Est basé surmatplotlibGalerie de visualisation avancée pour,Les points ciblés sont principalement la sélection de caractéristiques variables dans l'exploration de données et l'apprentissage automatique,seabornVous pouvez utiliser un petit Code pour dessiner des images visuelles qui décrivent des données plus dimensionnelles

D'autres bibliothèques incluent

Bokeh(Est une bibliothèque pour la visualisation interactive côté navigateur,Permettre aux analystes d'interagir avec les données);Mapbox(Traitement d'une bibliothèque d'outils visuels plus forte pour les moteurs de données géographiques)Attendez un peu!

Utilisation principale de cet articlematplotlibRéalisation d'études de cas

Première étape:Identifier les problèmes,Sélectionner un dessin

Les affaires peuvent être compliquées,Mais après le fractionnement,Nous devons trouver les problèmes spécifiques que nous voulons exprimer graphiquement.La formation à la pensée analytique peut apprendre**《Méthode McKinsey》Et《Principe pyramidal》**Méthodes.

Voici un résumé en ligne sur le choix du type de diagramme.

InPythonMoyenne, Nous pouvons résumer les quatre éléments visuels de base suivants pour montrer les graphiques :

  • Point:scatter plot Données 2D, Applicable aux relations 2D simples ;

  • Ligne:line plot Données 2D, Pour les séries chronologiques ;

  • Columnaire:bar plot Données 2D, Applicable aux statistiques par catégorie ;

  • Couleur:heatmap Pour afficher la troisième dimension ;

Il existe entre les données Répartition,Composition,Comparaison, Liens et tendances changeantes . Correspond à une relation différente , Sélectionnez le dessin approprié à afficher .

Deuxième étape:Conversion des données,Fonction d'application

Une grande partie du travail de programmation dans l'analyse et la modélisation des données est basée sur la préparation des données :**Chargement、Nettoyage、Transformation et remodelage.** Nos étapes de visualisation nécessitent également une organisation des données , Convertir au format désiré et appliquer la méthode de visualisation pour compléter le dessin .

Voici quelques méthodes courantes de conversion des données :

  • Fusionner:merge,concat,combine_frist( Similaire à une connexion externe complète dans une base de données )

  • Remodelage:reshape;Rotation axiale:pivot(SimilaireexcelTableau pivot)

  • Poids mort:drop_duplicates

  • Cartographie:map

  • Remplacement du remplissage :fillna,replace

  • Renommer l'index de l'axe:rename

Convertir les variables de classification ‘Matrice des variables fictives’Deget_dummies Fonctions et dans df Pour définir une colonne de données, etc. .

La fonction est basée sur le dessin sélectionné à l'étape 1 ,Va chercher.PythonFonction correspondante dans.

Troisième étape:Paramètres,En un coup d'oeil.

Une fois le dessin original terminé , Nous pouvons modifier les couleurs sur demande (color),Type de ligne(linestyle),Marquage(maker) Ou un autre titre de décoration graphique (Title),Étiquette de l'axe(xlabel,ylabel),Échelle de l'axe(set_xticks), Et la légende (legend)Attendez., Rendre les graphiques plus intuitifs .

La troisième étape est basée sur la deuxième étape , Pour rendre les graphiques plus clairs , Travaux de finition effectués . Les paramètres spécifiques peuvent être trouvés dans la fonction de dessin .

2、 Base de visualisation

Matplotlib Base de dessin

#Importer des paquets
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

FigureEtSubplot

matplotlib Tous les graphiques de Figure(La toile)Moyenne,Subplot Créer un espace image .Impossible de passerfigureDessin,Il faut utiliseradd_subplotCréer un ou plusieurssubplot.

figsize Vous pouvez spécifier la taille de l'image .


#Créer une toile
fig = plt.figure()
<Figure size 432x288 with 0 Axes>
#Créationsubplot,221Ça veut dire que c'est2D'accord2 Dans la grille de liste 1Images.
ax1 = fig.add_subplot(221)
# Mais maintenant vous êtes plus habitué à créer des toiles et des images en utilisant ,2,2Ça veut dire que c'est un2*2La toile de,Peut être placé4Images
fig , axes = plt.subplots(2,2,sharex=True,sharey=True)
#plt.subplotDesharexEtsharey Les paramètres peuvent spécifier tous les subplotUtiliser le mêmex,yÉchelle de l'axe.

UtilisationFigureDesubplots_adjust Méthode pour ajuster l'espacement .

subplots_adjust(left=None,bottom=None,right=None,top=None,wspace=None,hspace=None)

Couleurcolor,Marquagemarker,Et le type de lignelinestyle

matplotlibDeplotLa fonction accepte un ensemble deXEtYCoordonnées, Vous pouvez également accepter une abréviation de chaîne représentant la couleur et le type de ligne :**‘g–’, Indique que la couleur est verte green, Le type de ligne est ’–'Ligne pointillée.** Vous pouvez également spécifier explicitement les paramètres .

Les graphiques linéaires peuvent également être marqués (marker), Pour mettre en évidence l'emplacement des points de données . Les balises peuvent également être placées dans une chaîne de format , Mais le type de marqueur et le type de ligne doivent être placés derrière la couleur .


plt.plot(np.random.randn(30),color='g',linestyle='--',marker='o')
[<matplotlib.lines.Line2D at 0x8c919b0>]

Échelle,Étiquettes et légendes

pltDexlim、xticksEtxtickslabels Les méthodes sont séparées Plage et position de l'échelle et étiquette de l'échelle du diagramme de contrôle .

Appeler la méthode sans argument , Renvoie la valeur actuelle du paramètre ; Appelé avec des arguments , Définir la valeur du paramètre .


plt.plot(np.random.randn(30),color='g',linestyle='--',marker='o')
plt.xlim() #Appel sans argument, Afficher les paramètres actuels ;
#Peut êtrexlim Essayez les deux autres. 
(-1.4500000000000002, 30.45)


plt.plot(np.random.randn(30),color='g',linestyle='--',marker='o')
plt.xlim() #Appel sans argument, Afficher les paramètres actuels ;
#Peut êtrexlim Essayez les deux autres. 
(-1.4500000000000002, 30.45)

Définir le titre,Étiquette de l'axe, Échelle et étiquette de l'échelle


fig = plt.figure();ax = fig.add_subplot(1,1,1)
ax.plot(np.random.randn(1000).cumsum())
ticks = ax.set_xticks([0,250,500,750,1000]) #Définir la valeur de l'échelle
labels = ax.set_xticklabels(['one','two','three','four','five']) #Définir l'étiquette de l'échelle
ax.set_title('My first Plot') #Définir le titre
ax.set_xlabel('Stage') #Définir l'étiquette de l'axe
Text(0.5,0,'Stage')

Ajouter une légende

**Légendelegend Est un autre outil important pour identifier les éléments d'icône .** Vous pouvez ajouter subplotEst entrélabelParamètres.

fig = plt.figure(figsize=(12,5));ax = fig.add_subplot(111)
ax.plot(np.random.randn(1000).cumsum(),'k',label='one') #EntréelabelParamètres,DéfinitionlabelNom
ax.plot(np.random.randn(1000).cumsum(),'k--',label='two')
ax.plot(np.random.randn(1000).cumsum(),'k.',label='three')
# Après la création du dessin ,Il suffit d'appelerlegendLes paramètres serontlabel Il suffit de l'ajuster .
ax.legend(loc='best') # Si les exigences ne sont pas très strictes ,Utilisation recommandéeloc=‘best’ Les paramètres lui permettent de choisir la meilleure position 
<matplotlib.legend.Legend at 0xa8f5a20>

Notes

En plus des objets graphiques standard , Nous pouvons également personnaliser pour ajouter des annotations de texte ou des flèches .

Les annotations peuvent être faites par text,arrowEtannotate Fonction égale à ajouter .text La fonction peut dessiner le texte dans le x,yCoordonnées, Vous pouvez également personnaliser le formatage

plt.plot(np.random.randn(1000).cumsum())
plt.text(600,10,'test ',family='monospace',fontsize=10)
# Les commentaires chinois ne s'affichent pas normalement dans l'environnement par défaut ,Le Profil doit être modifié, Prend en charge les polices chinoises . Pour plus de détails, veuillez rechercher par vous - même .

Enregistrer le diagramme dans le fichier

Utilisationplt.savefig Vous pouvez enregistrer le diagramme actuel dans un fichier .Par exemple, Pour enregistrer le diagramme sous pngDocumentation,Peut être exécuté

Le type de fichier est basé sur le nom étendu .D'autres paramètres sont::

  • fname: Chaîne contenant le chemin du fichier , Extension spécifie le type de fichier

  • dpi:Résolution,Par défaut100 facecolor,edgcolor Couleur de fond de l'image,Par défaut‘w’Blanc

  • format: Afficher le format du fichier de configuration (‘png’,‘pdf’,‘svg’,‘ps’,'jpg’Attendez.)

  • bbox_inches: Partie du diagramme à conserver .Si défini à“tight”, Vous tenterez de couper l'espace blanc autour de l'image

plt.savefig('./plot.jpg') #Enregistrer l'image sousplotNomjpgFormat image<Figure size 432x288 with 0 Axes>

3、PandasFonctions de dessin dans

MatplotlibCartographie

**matplotlib Est la fonction de dessin la plus basique , Est également un outil relativement faible .** L'assemblage d'un diagramme nécessite des appels individuels aux composants sous - jacents .Pandas Et beaucoup d'entre eux sont basés sur matplotlib Méthodes de dessin avancées pour , Un diagramme qui aurait besoin de plusieurs lignes de code ,Utiliserpandas Juste quelques lignes. .

Ce que nous utilisons est appelé pandas Paquet de dessin dans .

import matplotlib.pyplot as plt

Diagramme linéaire

**SeriesEtDataFrame Il y a un plotMéthodes.**Par défaut, Ils produisent des graphiques linéaires .

s = pd.Series(np.random.randn(10).cumsum(),index=np.arange(0,100,10))
s.plot() #SeriesIndex des objetsindexSera transmis àmatplotlib Utilisé pour dessiner xAxe.
<matplotlib.axes._subplots.AxesSubplot at 0xf553128>

df = pd.DataFrame(np.random.randn(10,4).cumsum(0),columns=['A','B','C','D'])df.plot() #plot Change automatiquement de couleur pour différentes variables ,Et ajouter la légende<matplotlib.axes._subplots.AxesSubplot at 0xf4f9eb8>

Series.plotParamètres de la méthode

  • label: Étiquettes utilisées pour les diagrammes

  • style:Chaîne de style,‘g–’

  • alpha: Opacité de remplissage de l'image (0-1)

  • kind:Type de diagramme(bar,line,hist,kdeAttendez.)

  • xticks:RéglagexValeur de l'échelle de l'axe

  • yticks:RéglageyValeur de l'échelle de l'axe

  • xlim,ylim: Définir les limites de l'axe ,[0,10]

  • grid: Afficher les grilles de grille ,Fermeture par défaut

  • **rot:**Étiquette rotative

  • use_index: Étiquette les références d'index d'un objet

  • logy:InYUtiliser une échelle logarithmique sur l'axe

DataFrame.plotParamètres de la méthode

DataFrameSauf queSeries En dehors des paramètres , Il y a aussi des options uniques .

  • subplots:Et deDataFrame Colonne à dessiner séparément subplotMoyenne

  • sharex**,sharey**:Partagex,yAxe

  • figsize: Contrôle de la taille de l'image

  • title:Titre de l'image

  • legend:Ajouter une légende,Affichage par défaut

  • sort_columns: Dessiner les colonnes par ordre alphabétique , L'ordre actuel est utilisé par défaut

Histogramme

Ajouter au Code qui génère le diagramme de type de ligne kind=‘bar’Oukind=‘barh’, Vous pouvez générer un histogramme ou un histogramme horizontal .

fig,axes = plt.subplots(2,1)data = pd.Series(np.random.rand(10),index=list('abcdefghij'))data.plot(kind='bar',ax=axes[0],rot=0,alpha=0.3)data.plot(kind='barh',ax=axes[1],grid=True)<matplotlib.axes._subplots.AxesSubplot at 0xfe39898>

Les histogrammes ont une approche très pratique :

Utilisationvalue_countsAffichage graphiqueSeriesOuDF Fréquence d'occurrence des valeurs dans .

Par exemple,df.value_counts().plot(kind=‘bar’)

Python Voici la syntaxe de base de la visualisation , Les méthodes de dessin des autres graphiques sont similaires .

L'accent est mis sur trois étapes Penser、Sélectionner、Application. Plus de pratique, plus de compétence .

Communication Technique

Le Groupe d'échange technique est actuellement ouvert,Le Groupe d'amis a dépassé3000Les gens,La meilleure façon d'ajouter des commentaires est:Source:+Direction de l'intérêt,Pour trouver des amis partageant les mêmes idées

Comment①、Envoyer l'image suivante à Wechat,Reconnaissance par presse longue,Retour en arrière - plan:Ajouter un groupe;
Comment②、Ajouter un microsignal:dkl88191,Remarques:DeCSDN
Comment③、Wechat Search public Number:PythonApprentissage et exploration des données,Retour en arrière - plan:Ajouter un groupe


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved