Analyse de données avec Python

Dans cet article, nous verrons comment effectuer une analyse de données avec Python. Nous discuterons de toutes sortes d'analyses de données, c'est-à-dire l'analyse de données numériques avec NumPy, les données tabulaires avec Pandas, la visualisation de données Matplotlib et l'analyse exploratoire des données.

Analyse de données avec Python

L'analyse des données est la technique de collecte, de transformation et d'organisation des données pour faire des prédictions futures et des décisions éclairées basées sur les données. Cela aide également à trouver des solutions possibles à un problème commercial. L'analyse des données comporte six étapes. Ils sont:

  • Demander ou spécifier les exigences en matière de données
  • Préparer ou collecter des données
  • Nettoyer et traiter
  • Analyser
  • Partager
  • Agir ou signaler

Analyse de données avec Python



Note: Pour en savoir plus sur ces étapes, consultez notre NumPy est un package de traitement de tableaux en Python et fournit un objet tableau multidimensionnel hautes performances et des outils pour travailler avec ces tableaux. C'est le package fondamental pour le calcul scientifique avec Python.

Tableaux dans NumPy

Tableau NumPy est un tableau d'éléments (généralement des nombres), tous du même type, indexés par un tuple d'entiers positifs. Dans Numpy, le nombre de dimensions du tableau est appelé le rang du tableau. Un tuple d'entiers donnant la taille du tableau le long de chaque dimension est appelé forme du tableau.

Création d'un tableau NumPy

Les tableaux NumPy peuvent être créés de plusieurs manières, avec différents rangs. Il peut également être créé en utilisant différents types de données comme des listes, des tuples, etc. Le type du tableau résultant est déduit du type d'éléments dans les séquences. NumPy propose plusieurs fonctions pour créer des tableaux avec le contenu initial de l'espace réservé. Ceux-ci minimisent la nécessité de développer des réseaux, une opération coûteuse.

Créer un tableau en utilisant numpy.empty(shape, dtype=float, order=’C’)

Python3
import numpy as np b = np.empty(2, dtype = int) print('Matrix b : 
', b) a = np.empty([2, 2], dtype = int) print('
Matrix a : 
', a) c = np.empty([3, 3]) print('
Matrix c : 
', c) 

Sortir:

Matrice vide utilisant des pandas

Matrice vide utilisant des pandas

Créer un tableau en utilisant numpy.zeros (forme, dtype = Aucun, commande = 'C')

Python3
import numpy as np b = np.zeros(2, dtype = int) print('Matrix b : 
', b) a = np.zeros([2, 2], dtype = int) print('
Matrix a : 
', a) c = np.zeros([3, 3]) print('
Matrix c : 
', c) 

Sortir:

Matrix b :   [0 0]  Matrix a :   [[0 0]  [0 0]]  Matrix c :   [[0. 0. 0.]  [0. 0. 0.]  [0. 0. 0.]] 

Opérations sur les tableaux Numpy

Opérations arithmétiques

  • Ajout:
Python3
import numpy as np # Defining both the matrices a = np.array([5, 72, 13, 100]) b = np.array([2, 5, 10, 30]) # Performing addition using arithmetic operator add_ans = a+b print(add_ans) # Performing addition using numpy function add_ans = np.add(a, b) print(add_ans) # The same functions and operations can be used for # multiple matrices c = np.array([1, 2, 3, 4]) add_ans = a+b+c print(add_ans) add_ans = np.add(a, b, c) print(add_ans) 

Sortir:

[ 7 77 23 130] [ 7 77 23 130] [ 8 79 26 134] [ 7 77 23 130] 
  • Soustraction:
Python3
import numpy as np # Defining both the matrices a = np.array([5, 72, 13, 100]) b = np.array([2, 5, 10, 30]) # Performing subtraction using arithmetic operator sub_ans = a-b print(sub_ans) # Performing subtraction using numpy function sub_ans = np.subtract(a, b) print(sub_ans) 

Sortir:

[ 3 67 3 70] [ 3 67 3 70] 
  • Multiplication:
Python3
import numpy as np # Defining both the matrices a = np.array([5, 72, 13, 100]) b = np.array([2, 5, 10, 30]) # Performing multiplication using arithmetic # operator mul_ans = a*b print(mul_ans) # Performing multiplication using numpy function mul_ans = np.multiply(a, b) print(mul_ans) 

Sortir:

[ 10 360 130 3000] [ 10 360 130 3000] 
  • Division:
Python3
import numpy as np # Defining both the matrices a = np.array([5, 72, 13, 100]) b = np.array([2, 5, 10, 30]) # Performing division using arithmetic operators div_ans = a/b print(div_ans) # Performing division using numpy functions div_ans = np.divide(a, b) print(div_ans) 

Sortir:

[ 2.5 14.4 1.3 3.33333333] [ 2.5 14.4 1.3 3.33333333] 

Pour plus d'informations, reportez-vous à notre NumPy – Tutoriel sur les opérations arithmétiques

Indexation de tableau NumPy

Indexage peut être fait dans NumPy en utilisant un tableau comme index. Dans le cas de la tranche, une vue ou une copie superficielle du tableau est renvoyée mais dans le tableau d'index, une copie du tableau d'origine est renvoyée. Les tableaux Numpy peuvent être indexés avec d'autres tableaux ou toute autre séquence à l'exception des tuples. Le dernier élément est indexé de -1 seconde, de -2 et ainsi de suite.

Indexation de tableaux Python NumPy

Python3
# Python program to demonstrate # the use of index arrays. import numpy as np # Create a sequence of integers from # 10 to 1 with a step of -2 a = np.arange(10, 1, -2) print('
 A sequential array with a negative step: 
',a) # Indexes are specified inside the np.array method. newarr = a[np.array([3, 1, 2 ])] print('
 Elements at these indices are:
',newarr) 

Sortir:

A sequential array with a negative step:   [10 8 6 4 2]   Elements at these indices are:  [4 8 6] 

Découpage de tableau NumPy

Considérez la syntaxe x[obj] où x est le tableau et obj est l'index. L'objet slice est l'index dans le cas de découpage de base . Le découpage de base se produit lorsque obj est :

  • un objet slice de la forme start: stop: step
  • un nombre entier
  • ou un tuple d'objets slice et d'entiers

Tous les tableaux générés par le découpage de base sont toujours la vue dans le tableau d'origine.

Python3
# Python program for basic slicing. import numpy as np # Arrange elements from 0 to 19 a = np.arange(20) print('
 Array is:
 ',a) # a[start:stop:step] print('
 a[-8:17:1] = ',a[-8:17:1]) # The : operator means all elements till the end. print('
 a[10:] = ',a[10:]) 

Sortir:

Array is: [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19]  a[-8:17:1] = [12 13 14 15 16]  a[10:] = [10 11 12 13 14 15 16 17 18 19] 

Les points de suspension peuvent également être utilisés avec le découpage de base. Les points de suspension (…) sont le nombre d'objets : nécessaires pour réaliser un tuple de sélection de même longueur que les dimensions du tableau.

Python3
# Python program for indexing using basic slicing with ellipsis import numpy as np # A 3 dimensional array. b = np.array([[[1, 2, 3],[4, 5, 6]], [[7, 8, 9],[10, 11, 12]]]) print(b[...,1]) #Equivalent to b[: ,: ,1 ] 

Sortir:

[[ 2 5]  [ 8 11]] 

Diffusion de tableaux NumPy

Le terme diffusion fait référence à la façon dont numpy traite les tableaux avec des dimensions différentes lors d'opérations arithmétiques qui conduisent à certaines contraintes, le plus petit tableau est diffusé sur le plus grand tableau afin qu'ils aient des formes compatibles.

Supposons que nous disposions d’un grand ensemble de données, chaque donnée est une liste de paramètres. Dans Numpy, nous avons un tableau 2D, où chaque ligne est une donnée et le nombre de lignes est la taille de l'ensemble de données. Supposons que nous voulions appliquer une sorte de mise à l'échelle à toutes ces données, chaque paramètre obtient son propre facteur de mise à l'échelle ou disons que chaque paramètre est multiplié par un certain facteur.

Juste pour bien comprendre, comptons les calories contenues dans les aliments en utilisant la répartition des macronutriments. En gros, les parties caloriques des aliments sont constituées de graisses (9 calories par gramme), de protéines (4 CPG) et de glucides (4 CPG). Ainsi, si nous répertorions certains aliments (nos données) et, pour chaque aliment, sa répartition en macronutriments (paramètres), nous pouvons ensuite multiplier chaque nutriment par sa valeur calorique (appliquer une mise à l'échelle) pour calculer la répartition calorique de chaque aliment.

Diffusion de tableaux NumPy

Avec cette transformation, nous pouvons désormais calculer toutes sortes d’informations utiles. Par exemple, quel est le nombre total de calories présentes dans certains aliments ou, compte tenu de la répartition de mon dîner, sachez combien de calories ai-je tirées des protéines, etc.

Voyons une manière naïve de produire ce calcul avec Numpy :

Python3
import numpy as np macros = np.array([ [0.8, 2.9, 3.9], [52.4, 23.6, 36.5], [55.2, 31.7, 23.9], [14.4, 11, 4.9] ]) # Create a new array filled with zeros, # of the same shape as macros. result = np.zeros_like(macros) cal_per_macro = np.array([3, 3, 8]) # Now multiply each row of macros by # cal_per_macro. In Numpy, `*` is # element-wise multiplication between two arrays. for i in range(macros.shape[0]): result[i, :] = macros[i, :] * cal_per_macro result 

Sortir:

array([[ 2.4, 8.7, 31.2],  [157.2, 70.8, 292. ],  [165.6, 95.1, 191.2],  [ 43.2, 33. , 39.2]]) 

Règles de diffusion : La diffusion de deux tableaux ensemble suit ces règles :

  • Si les tableaux n'ont pas le même rang, ajoutez 1 à la forme du tableau de rang inférieur jusqu'à ce que les deux formes aient la même longueur.
  • Les deux tableaux sont compatibles dans une dimension s'ils ont la même taille dans la dimension ou si l'un des tableaux a la taille 1 dans cette dimension.
  • Les tableaux peuvent être diffusés ensemble s'ils sont compatibles avec toutes les dimensions.
  • Après la diffusion, chaque tableau se comporte comme s'il avait une forme égale au maximum de formes par élément des deux tableaux d'entrée.
  • Dans n'importe quelle dimension où un tableau avait une taille de 1 et l'autre tableau une taille supérieure à 1, le premier tableau se comporte comme s'il était copié le long de cette dimension.
Python3
import numpy as np v = np.array([12, 24, 36]) w = np.array([45, 55]) # To compute an outer product we first # reshape v to a column vector of shape 3x1 # then broadcast it against w to yield an output # of shape 3x2 which is the outer product of v and w print(np.reshape(v, (3, 1)) * w) X = np.array([[12, 22, 33], [45, 55, 66]]) # x has shape 2x3 and v has shape (3, ) # so they broadcast to 2x3, print(X + v) # Add a vector to each column of a matrix X has # shape 2x3 and w has shape (2, ) If we transpose X # then it has shape 3x2 and can be broadcast against w # to yield a result of shape 3x2. # Transposing this yields the final result # of shape 2x3 which is the matrix. print((X.T + w).T) # Another solution is to reshape w to be a column # vector of shape 2X1 we can then broadcast it # directly against X to produce the same output. print(X + np.reshape(w, (2, 1))) # Multiply a matrix by a constant, X has shape 2x3. # Numpy treats scalars as arrays of shape(); # these can be broadcast together to shape 2x3. print(X * 2) 

Sortir:

[[ 540 660]  [1080 1320]  [1620 1980]] [[ 24 46 69]  [ 57 79 102]] [[ 57 67 78]  [100 110 121]] [[ 57 67 78]  [100 110 121]] [[ 24 44 66]  [ 90 110 132]] 

Note: Pour plus d'informations, reportez-vous à notre Tutoriel Python NumPy .

Analyser des données à l'aide de Pandas

Python Pandas Est utilisé pour les données relationnelles ou étiquetées et fournit diverses structures de données pour manipuler ces données et séries chronologiques. Cette bibliothèque est construite au-dessus de la bibliothèque NumPy. Ce module est généralement importé sous la forme :

import pandas as pd 

Ici, pd est appelé un alias des Pandas. Cependant, il n'est pas nécessaire d'importer la bibliothèque en utilisant l'alias, cela permet simplement d'écrire moins de code à chaque fois qu'une méthode ou une propriété est appelée. Les pandas fournissent généralement deux structures de données pour manipuler les données :

  • Série
  • Trame de données

Série:

Série Pandas est un tableau étiqueté unidimensionnel capable de contenir des données de tout type (entier, chaîne, float, objets python, etc.). Les étiquettes des axes sont collectivement appelées index. La série Pandas n'est rien d'autre qu'une colonne dans une feuille Excel. Les étiquettes ne doivent pas nécessairement être uniques mais doivent être de type hachable. L'objet prend en charge l'indexation basée sur des entiers et des étiquettes et fournit une multitude de méthodes pour effectuer des opérations impliquant l'index.

Série Pandas

Il peut être créé à l'aide de la fonction Series() en chargeant l'ensemble de données à partir du stockage existant comme SQL, base de données, fichiers CSV, fichiers Excel, etc., ou à partir de structures de données telles que des listes, des dictionnaires, etc.

Série de création de pandas Python

Python3
import pandas as pd import numpy as np # Creating empty series ser = pd.Series() print(ser) # simple array data = np.array(['g', 'e', 'e', 'k', 's']) ser = pd.Series(data) print(ser) 

Sortir:

série pandas

série pandas

Trame de données:

Cadre de données Pandas est une structure de données tabulaire bidimensionnelle à taille variable et potentiellement hétérogène avec des axes étiquetés (lignes et colonnes). Une trame de données est une structure de données bidimensionnelle, c'est-à-dire que les données sont alignées sous forme de tableau en lignes et en colonnes. Pandas DataFrame se compose de trois composants principaux : les données, les lignes et les colonnes.

Cadre de données Pandas

Il peut être créé à l’aide de la méthode Dataframe() et, tout comme une série, il peut également provenir de différents types de fichiers et structures de données.

Python Pandas créant une trame de données

Python3
import pandas as pd # Calling DataFrame constructor df = pd.DataFrame() print(df) # list of strings lst = ['Geeks', 'For', 'Geeks', 'is', 'portal', 'for', 'Geeks'] # Calling DataFrame constructor on list df = pd.DataFrame(lst) df 

Sortir:

Création d

Création de Dataframe à partir d'une liste Python

Création d'une trame de données à partir d'un CSV

Nous pouvons créer une trame de données à partir du CSV fichiers utilisant le read_csv() fonction.

Python Pandas lit CSV

Python3
import pandas as pd # Reading the CSV file df = pd.read_csv('Iris.csv') # Printing top 5 rows df.head() 

Sortir:

responsable d

responsable d'un dataframe

Filtrage du DataFrame

Pandas dataframe.filter() La fonction est utilisée pour sous-ensembler des lignes ou des colonnes de dataframe en fonction des étiquettes dans l'index spécifié. Notez que cette routine ne filtre pas une trame de données sur son contenu. Le filtre est appliqué aux étiquettes de l'index.

Cadre de données de filtre Python Pandas

Python3
import pandas as pd # Reading the CSV file df = pd.read_csv('Iris.csv') # applying filter function df.filter(['Species', 'SepalLengthCm', 'SepalLengthCm']).head() 

Sortir:

Application d

Application d'un filtre sur l'ensemble de données

Tri du DataFrame

Afin de trier la trame de données dans les pandas, la fonction valeurs_de tri() est utilisé. Pandas sort_values() peut trier le bloc de données par ordre croissant ou décroissant.

Python Pandas triant la trame de données par ordre croissant

Sortir:

Ensemble de données trié en fonction d

Ensemble de données trié en fonction d'une valeur de colonne

Groupe PandasBy

Par groupe est un concept assez simple. Nous pouvons créer un regroupement de catégories et appliquer une fonction aux catégories. Dans les vrais projets de science des données, vous devrez traiter de grandes quantités de données et essayer des choses encore et encore. C'est pourquoi, pour plus d'efficacité, nous utilisons le concept Groupby. Groupby fait principalement référence à un processus impliquant une ou plusieurs des étapes suivantes :

  • Scission: Il s'agit d'un processus dans lequel nous divisons les données en groupes en appliquant certaines conditions aux ensembles de données.
  • Candidature : C'est un processus dans lequel nous appliquons une fonction à chaque groupe indépendamment.
  • Combinant : Il s'agit d'un processus dans lequel nous combinons différents ensembles de données après avoir appliqué le groupby et les résultats dans une structure de données.

L'image suivante aidera à comprendre le processus impliqué dans le concept Groupby.

1. Regroupez les valeurs uniques de la colonne Équipe

Méthode Pandas Groupby

2. Il y a désormais un bucket pour chaque groupe

3. Jetez les autres données dans les seaux

Groupe PandasBy

4. Appliquez une fonction sur la colonne de poids de chaque godet.

Application de la fonction sur la colonne de poids de chaque colonne

Python Pandas GroupBy

Python3
# importing pandas module import pandas as pd # Define a dictionary containing employee data data1 = {'Name': ['Jai', 'Anuj', 'Jai', 'Princi', 'Gaurav', 'Anuj', 'Princi', 'Abhi'], 'Age': [27, 24, 22, 32, 33, 36, 27, 32], 'Address': ['Nagpur', 'Kanpur', 'Allahabad', 'Kannuaj', 'Jaunpur', 'Kanpur', 'Allahabad', 'Aligarh'], 'Qualification': ['Msc', 'MA', 'MCA', 'Phd', 'B.Tech', 'B.com', 'Msc', 'MA']} # Convert the dictionary into DataFrame df = pd.DataFrame(data1) print('Original Dataframe') display(df) # applying groupby() function to # group the data on Name value. gk = df.groupby('Name') # Let's print the first entries # in all the groups formed. print('After Creating Groups') gk.first() 

Sortir:

groupe de pandas

groupe de pandas

Application de la fonction au groupe :

Après avoir divisé une donnée en groupe, nous appliquons une fonction à chaque groupe afin que nous effectuions certaines opérations :

  • Agrégation: Il s'agit d'un processus dans lequel nous calculons une ou plusieurs statistiques récapitulatives sur chaque groupe. Par exemple, calculer les sommes ou les moyennes du groupe
  • Transformation: Il s'agit d'un processus dans lequel nous effectuons des calculs spécifiques à un groupe et renvoyons un index similaire. Par exemple, remplir les NA au sein des groupes avec une valeur dérivée de chaque groupe
  • Filtration: C'est un processus dans lequel nous éliminons certains groupes, selon un calcul par groupe qui évalue Vrai ou Faux. Par exemple, filtrer les données en fonction de la somme ou de la moyenne du groupe

Agrégation de pandas

Agrégation est un processus dans lequel nous calculons une statistique récapitulative sur chaque groupe. La fonction agrégée renvoie une seule valeur agrégée pour chaque groupe. Après avoir divisé les données en groupes à l'aide de la fonction groupby, plusieurs opérations d'agrégation peuvent être effectuées sur les données groupées.

Agrégation de Pandas Python

Python3
# importing pandas module import pandas as pd # importing numpy as np import numpy as np # Define a dictionary containing employee data data1 = {'Name': ['Jai', 'Anuj', 'Jai', 'Princi', 'Gaurav', 'Anuj', 'Princi', 'Abhi'], 'Age': [27, 24, 22, 32, 33, 36, 27, 32], 'Address': ['Nagpur', 'Kanpur', 'Allahabad', 'Kannuaj', 'Jaunpur', 'Kanpur', 'Allahabad', 'Aligarh'], 'Qualification': ['Msc', 'MA', 'MCA', 'Phd', 'B.Tech', 'B.com', 'Msc', 'MA']} # Convert the dictionary into DataFrame df = pd.DataFrame(data1) # performing aggregation using # aggregate method grp1 = df.groupby('Name') grp1.aggregate(np.sum) 

Sortir:

Utilisation de la fonction d

Utilisation de la fonction d'agrégation de somme sur l'ensemble de données

Concaténation de DataFrame

Afin de concaténer la trame de données, nous utilisons concat () fonction qui aide à concaténer la trame de données. Cette fonction fait tout le gros du travail consistant à effectuer des opérations de concaténation avec un axe d'objets Pandas tout en effectuant une logique d'ensemble facultative (union ou intersection) des index (le cas échéant) sur les autres axes.

Python Pandas concatène une trame de données

Python3
# importing pandas module import pandas as pd # Define a dictionary containing employee data data1 = {'key': ['K0', 'K1', 'K2', 'K3'], 'Name':['Jai', 'Princi', 'Gaurav', 'Anuj'], 'Age':[27, 24, 22, 32],} # Define a dictionary containing employee data data2 = {'key': ['K0', 'K1', 'K2', 'K3'], 'Address':['Nagpur', 'Kanpur', 'Allahabad', 'Kannuaj'], 'Qualification':['Btech', 'B.A', 'Bcom', 'B.hons']} # Convert the dictionary into DataFrame df = pd.DataFrame(data1) # Convert the dictionary into DataFrame df1 = pd.DataFrame(data2) display(df, df1) # combining series and dataframe res = pd.concat([df, df1], axis=1) res 

Sortir:

Fusion de DataFrame

Lorsque nous devons combiner de très grands DataFrames, les jointures constituent un moyen puissant d’effectuer ces opérations rapidement. Les jointures ne peuvent être effectuées que sur deux DataFrames à la fois, désignées par des tables gauche et droite. La clé est la colonne commune sur laquelle les deux DataFrames seront joints. C'est une bonne pratique d'utiliser des clés qui ont des valeurs uniques dans toute la colonne pour éviter la duplication involontaire des valeurs de ligne. Les pandas assurent une seule fonction, fusionner() , comme point d'entrée pour toutes les opérations de jointure de base de données standard entre les objets DataFrame.

Il existe quatre manières de base de gérer la jointure (interne, gauche, droite et externe), en fonction des lignes qui doivent conserver leurs données.

Fusionner les Pandas Daframe Python

Python Pandas fusionne la trame de données

Python3
# importing pandas module import pandas as pd # Define a dictionary containing employee data data1 = {'key': ['K0', 'K1', 'K2', 'K3'], 'Name':['Jai', 'Princi', 'Gaurav', 'Anuj'], 'Age':[27, 24, 22, 32],} # Define a dictionary containing employee data data2 = {'key': ['K0', 'K1', 'K2', 'K3'], 'Address':['Nagpur', 'Kanpur', 'Allahabad', 'Kannuaj'], 'Qualification':['Btech', 'B.A', 'Bcom', 'B.hons']} # Convert the dictionary into DataFrame df = pd.DataFrame(data1) # Convert the dictionary into DataFrame df1 = pd.DataFrame(data2) display(df, df1) # using .merge() function res = pd.merge(df, df1, on='key') res 

Sortir:

Concatiner deux ensembles de données

Concatiner deux ensembles de données

Rejoindre DataFrame

Afin de rejoindre le dataframe, nous utilisons .rejoindre() fonction, cette fonction est utilisée pour combiner les colonnes de deux DataFrames potentiellement indexés différemment en un seul DataFrame de résultat.

Les Pandas Python rejoignent Dataframe

Python3
# importing pandas module import pandas as pd # Define a dictionary containing employee data data1 = {'Name':['Jai', 'Princi', 'Gaurav', 'Anuj'], 'Age':[27, 24, 22, 32]} # Define a dictionary containing employee data data2 = {'Address':['Allahabad', 'Kannuaj', 'Allahabad', 'Kannuaj'], 'Qualification':['MCA', 'Phd', 'Bcom', 'B.hons']} # Convert the dictionary into DataFrame df = pd.DataFrame(data1,index=['K0', 'K1', 'K2', 'K3']) # Convert the dictionary into DataFrame df1 = pd.DataFrame(data2, index=['K0', 'K2', 'K3', 'K4']) display(df, df1) # joining dataframe res = df.join(df1) res 

Sortir:

Joindre deux ensembles de données

Pour plus d'informations, reportez-vous à notre Pandas fusionnant, rejoignant et concaténant Didacticiel

Pour un guide complet sur les Pandas, reportez-vous à notre Tutoriel Pandas .

Visualisation avec Matplotlib

Matplotlib est facile à utiliser et constitue une étonnante bibliothèque de visualisation en Python. Il est construit sur des tableaux NumPy et conçu pour fonctionner avec la pile SciPy plus large et se compose de plusieurs tracés comme une ligne, une barre, un nuage de points, un histogramme, etc.

Pyplot

Pyplot est un module Matplotlib qui fournit une interface de type MATLAB. Pyplot fournit des fonctions qui interagissent avec la figure, c'est-à-dire crée une figure, décore le tracé avec des étiquettes et crée une zone de traçage dans une figure.

Python3
# Python program to show pyplot module import matplotlib.pyplot as plt plt.plot([1, 2, 3, 4], [1, 4, 9, 16]) plt.axis([0, 6, 0, 20]) plt.show() 

Sortir:

Diagramme à bandes

UN tracé à barres ou un diagramme à barres est un graphique qui représente la catégorie de données avec des barres rectangulaires dont les longueurs et les hauteurs sont proportionnelles aux valeurs qu'elles représentent. Les tracés à barres peuvent être tracés horizontalement ou verticalement. Un graphique à barres décrit les comparaisons entre les catégories discrètes. Il peut être créé à l'aide de la méthode bar().

Graphique à barres Python Matplotlib

Ici, nous utiliserons uniquement l'ensemble de données iris

Python3
import matplotlib.pyplot as plt import pandas as pd df = pd.read_csv('Iris.csv') # This will plot a simple bar chart plt.bar(df['Species'], df['SepalLengthCm']) # Title to the plot plt.title('Iris Dataset') # Adding the legends plt.legend(['bar']) plt.show() 

Sortir:

Graphique à barres utilisant la bibliothèque matplotlib

Graphique à barres utilisant la bibliothèque matplotlib

Histogrammes

UN histogramme est essentiellement utilisé pour représenter des données sous la forme de certains groupes. Il s'agit d'un type de graphique à barres où l'axe X représente les plages de cases tandis que l'axe Y donne des informations sur la fréquence. Pour créer un histogramme, la première étape consiste à créer un groupe de plages, puis à répartir toute la plage de valeurs dans une série d'intervalles et à compter les valeurs qui tombent dans chacun des intervalles. Les groupes sont clairement identifiés comme des intervalles de variables consécutifs et sans chevauchement. Le hist() La fonction est utilisée pour calculer et créer un histogramme de x.

Histogramme Python Matplotlib

Python3
import matplotlib.pyplot as plt import pandas as pd df = pd.read_csv('Iris.csv') plt.hist(df['SepalLengthCm']) # Title to the plot plt.title('Histogram') # Adding the legends plt.legend(['SepalLengthCm']) plt.show() 

Sortir:

Histplot utilisant la bibliothèque matplotlib

Nuage de points

Les nuages ​​de points sont utilisés pour observer la relation entre les variables et utilisent des points pour représenter la relation entre elles. Le dispersion() La méthode de la bibliothèque matplotlib est utilisée pour dessiner un nuage de points.

Diagramme de dispersion Python Matplotlib

Python3
import matplotlib.pyplot as plt import pandas as pd df = pd.read_csv('Iris.csv') plt.scatter(df['Species'], df['SepalLengthCm']) # Title to the plot plt.title('Scatter Plot') # Adding the legends plt.legend(['SepalLengthCm']) plt.show() 

Sortir:

Nuage de points utilisant la bibliothèque matplotlib

Nuage de points utilisant la bibliothèque matplotlib

Boîte à moustaches

UN boîte à moustaches , Corrélation également connue sous le nom de diagramme en boîte et moustaches. C'est une très bonne représentation visuelle lorsqu'il s'agit de mesurer la distribution des données. Trace clairement les valeurs médianes, les valeurs aberrantes et les quartiles. Comprendre la distribution des données est un autre facteur important qui conduit à une meilleure construction de modèles. Si les données comportent des valeurs aberrantes, le diagramme en boîte est un moyen recommandé pour les identifier et prendre les mesures nécessaires. Le graphique en forme de boîte et de moustaches montre comment les données sont réparties. Cinq informations sont généralement incluses dans le graphique

  • Le minimum est indiqué à l’extrême gauche du graphique, à l’extrémité de la « moustache » gauche
  • Le premier quartile, Q1, est l'extrême gauche de la boîte (moustache gauche)
  • La médiane est représentée par une ligne au centre de la boîte
  • Troisième quartile, Q3, affiché à l'extrême droite de la case (moustache droite)
  • Le maximum est à l'extrême droite de la case

Représentation du box plot

Gamme interquartile

Gamme interquartile

Illustration d

Illustration d'une boîte à moustaches

Diagramme en boîte Python Matplotlib

Python3
import matplotlib.pyplot as plt import pandas as pd df = pd.read_csv('Iris.csv') plt.boxplot(df['SepalWidthCm']) # Title to the plot plt.title('Box Plot') # Adding the legends plt.legend(['SepalWidthCm']) plt.show() 

Sortir:

Boxplot utilisant la bibliothèque matplotlib

Boxplot utilisant la bibliothèque matplotlib

Cartes thermiques de corrélation

Une Heatmap 2D est un outil de visualisation de données qui permet de représenter l'ampleur du phénomène sous forme de couleurs. Une carte thermique de corrélation est une carte thermique qui montre une matrice de corrélation 2D entre deux dimensions discrètes, utilisant des cellules colorées pour représenter des données provenant généralement d'une échelle monochromatique. Les valeurs de la première dimension apparaissent sous forme de lignes du tableau tandis que la deuxième dimension est sous forme de colonne. La couleur de la cellule est proportionnelle au nombre de mesures correspondant à la valeur dimensionnelle. Cela rend les cartes thermiques de corrélation idéales pour l'analyse des données, car elles rendent les modèles facilement lisibles et mettent en évidence les différences et les variations dans les mêmes données. Une carte thermique de corrélation, comme une carte thermique ordinaire, est assistée par une barre de couleurs rendant les données facilement lisibles et compréhensibles.

Note: Les données ici doivent être transmises avec la méthode corr() pour générer une carte thermique de corrélation. De plus, corr() élimine lui-même les colonnes qui ne seront d'aucune utilité lors de la génération d'une carte thermique de corrélation et sélectionne celles qui peuvent être utilisées.

Carte thermique de corrélation Python Matplotlib

Python3
import matplotlib.pyplot as plt import pandas as pd df = pd.read_csv('Iris.csv') plt.imshow(df.corr() , cmap = 'autumn' , interpolation = 'nearest' ) plt.title('Heat Map') plt.show() 

Sortir:

Heatmap utilisant la bibliothèque matplotlib

Heatmap utilisant la bibliothèque matplotlib

Pour plus d'informations sur la visualisation des données, reportez-vous à nos didacticiels ci-dessous -

Top Articles

Catégorie

Des Articles Intéressants