Analisi dei dati con Python

In questo articolo discuteremo come eseguire l'analisi dei dati con Python. Discuteremo tutti i tipi di analisi dei dati, ad esempio l'analisi dei dati numerici con NumPy, i dati tabulari con Panda, la visualizzazione dei dati Matplotlib e l'analisi esplorativa dei dati.

Analisi dei dati con Python

Analisi dei dati è la tecnica di raccolta, trasformazione e organizzazione dei dati per fare previsioni future e prendere decisioni informate basate sui dati. Aiuta anche a trovare possibili soluzioni per un problema aziendale. Ci sono sei passaggi per l'analisi dei dati. Sono:

  • Chiedi o specifica i requisiti dei dati
  • Preparare o raccogliere dati
  • Pulisci ed elabora
  • Analizzare
  • Condividere
  • Agire o riferire

Analisi dei dati con Python



Nota: Per saperne di più su questi passaggi fare riferimento al ns NumPy è un pacchetto di elaborazione di array in Python e fornisce un oggetto array multidimensionale ad alte prestazioni e strumenti per lavorare con questi array. È il pacchetto fondamentale per il calcolo scientifico con Python.

Array in NumPy

Array NumPy è una tabella di elementi (solitamente numeri), tutti dello stesso tipo, indicizzati da una tupla di numeri interi positivi. In Numpy, il numero di dimensioni dell'array è chiamato rango dell'array. Una tupla di numeri interi che fornisce la dimensione dell'array lungo ciascuna dimensione è nota come forma dell'array.

Creazione dell'array NumPy

Gli array NumPy possono essere creati in diversi modi, con vari ranghi. Può anche essere creato utilizzando diversi tipi di dati come liste, tuple, ecc. Il tipo dell'array risultante viene dedotto dal tipo di elementi nelle sequenze. NumPy offre diverse funzioni per creare array con contenuto segnaposto iniziale. Questi riducono al minimo la necessità di ampliare gli array, un'operazione costosa.

Crea array utilizzando numpy.empty(forma, dtype=float, ordine='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) 

Produzione:

Matrice vuota usando i panda

Matrice vuota usando i panda

Crea array utilizzando numpy.zeros(forma, dtype = Nessuno, ordine = '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) 

Produzione:

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

Operazioni su array Numpy

Operazioni aritmetiche

  • Aggiunta:
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) 

Produzione:

[ 7 77 23 130] [ 7 77 23 130] [ 8 79 26 134] [ 7 77 23 130] 
  • Sottrazione:
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) 

Produzione:

[ 3 67 3 70] [ 3 67 3 70] 
  • Moltiplicazione:
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) 

Produzione:

[ 10 360 130 3000] [ 10 360 130 3000] 
  • Divisione:
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) 

Produzione:

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

Per maggiori informazioni consultare la ns NumPy – Tutorial sulle operazioni aritmetiche

Indicizzazione dell'array NumPy

Indicizzazione può essere fatto in NumPy utilizzando un array come indice. Nel caso della sezione, viene restituita una vista o una copia superficiale dell'array, ma nell'array dell'indice viene restituita una copia dell'array originale. Gli array Numpy possono essere indicizzati con altri array o qualsiasi altra sequenza ad eccezione delle tuple. L'ultimo elemento è indicizzato di -1 secondo, ultimo di -2 e così via.

Indicizzazione di array 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) 

Produzione:

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

Affettatura dell'array NumPy

Considera la sintassi x[obj] dove x è l'array e obj è l'indice. L'oggetto slice è l'indice nel caso di affettatura di base . L'affettamento di base si verifica quando obj è:

  • un oggetto fetta che ha la forma start: stop: step
  • un numero intero
  • o una tupla di oggetti sezione e numeri interi

Tutti gli array generati dall'affettamento di base sono sempre la vista nell'array originale.

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:]) 

Produzione:

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] 

I puntini di sospensione possono essere utilizzati anche insieme all'affettatura di base. I puntini di sospensione (...) sono il numero di : oggetti necessari per creare una tupla di selezione della stessa lunghezza delle dimensioni dell'array.

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 ] 

Produzione:

[[ 2 5]  [ 8 11]] 

Trasmissione di array NumPy

Il termine trasmissione si riferisce al modo in cui Numpy tratta gli array con dimensioni diverse durante le operazioni aritmetiche che portano a determinati vincoli, l'array più piccolo viene trasmesso attraverso l'array più grande in modo che abbiano forme compatibili.

Supponiamo di avere un set di dati di grandi dimensioni, ogni dato è un elenco di parametri. In Numpy abbiamo un array 2D, dove ogni riga è un dato e il numero di righe è la dimensione del set di dati. Supponiamo di voler applicare una sorta di ridimensionamento a tutti questi dati, ogni parametro ottiene il proprio fattore di scala o dire che ogni parametro viene moltiplicato per un fattore.

Giusto per avere una comprensione più chiara, contiamo le calorie negli alimenti utilizzando una ripartizione dei macronutrienti. In parole povere, le parti caloriche del cibo sono costituite da grassi (9 calorie per grammo), proteine ​​(4 CPG) e carboidrati (4 CPG). Quindi, se elenchiamo alcuni alimenti (i nostri dati) e per ogni alimento elenchiamo la ripartizione dei macronutrienti (parametri), possiamo quindi moltiplicare ciascun nutriente per il suo valore calorico (applicare il ridimensionamento) per calcolare la ripartizione calorica di ogni alimento.

Trasmissione di array NumPy

Con questa trasformazione, ora possiamo calcolare tutti i tipi di informazioni utili. Ad esempio, qual è il numero totale di calorie presenti in alcuni alimenti oppure, analizzando la mia cena, sapere quante calorie ho ottenuto dalle proteine ​​e così via.

Vediamo un modo ingenuo di produrre questo calcolo con 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 

Produzione:

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

Regole di trasmissione: La trasmissione di due array insieme segue queste regole:

  • Se gli array non hanno lo stesso rango, anteporre 1 alla forma dell'array di rango inferiore finché entrambe le forme non hanno la stessa lunghezza.
  • I due array sono compatibili in una dimensione se hanno la stessa dimensione nella dimensione o se uno degli array ha dimensione 1 in quella dimensione.
  • Gli array possono essere trasmessi insieme se sono compatibili con tutte le dimensioni.
  • Dopo la trasmissione, ogni array si comporta come se avesse una forma uguale al massimo delle forme in termini di elemento dei due array di input.
  • In qualsiasi dimensione in cui una matrice ha una dimensione pari a 1 e l'altra matrice ha una dimensione maggiore di 1, la prima matrice si comporta come se fosse copiata lungo quella dimensione.
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) 

Produzione:

[[ 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]] 

Nota: Per maggiori informazioni consultare la ns Tutorial su Python NumPy .

Analisi dei dati utilizzando Panda

Python Pandas Viene utilizzato per dati relazionali o etichettati e fornisce varie strutture dati per manipolare tali dati e serie temporali. Questa libreria è costruita sulla libreria NumPy. Questo modulo viene generalmente importato come:

import pandas as pd 

Qui, pd è indicato come l'alias dei Panda. Tuttavia, non è necessario importare la libreria utilizzando l'alias, aiuta semplicemente a scrivere meno codice ogni volta che viene chiamato un metodo o una proprietà. I panda generalmente forniscono due strutture dati per la manipolazione dei dati, che sono:

  • Serie
  • Dataframe

Serie:

Serie Panda è un array etichettato unidimensionale in grado di contenere dati di qualsiasi tipo (interi, stringhe, float, oggetti Python, ecc.). Le etichette degli assi sono chiamate collettivamente indici. La serie Panda non è altro che una colonna in un foglio Excel. Le etichette non devono essere univoche ma devono essere di tipo hashable. L'oggetto supporta sia l'indicizzazione su numeri interi che quella basata su etichette e fornisce una serie di metodi per eseguire operazioni che coinvolgono l'indice.

Serie Panda

Può essere creato utilizzando la funzione Series() caricando il set di dati dall'archivio esistente come SQL, database, file CSV, file Excel, ecc. O da strutture dati come elenchi, dizionari, ecc.

Panda Python che creano serie

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) 

Produzione:

serie Pnada

serie Pnada

Telaio dati:

Panda DataFrame è una struttura di dati tabellari bidimensionali con dimensioni variabili e potenzialmente eterogenee con assi etichettati (righe e colonne). Un frame di dati è una struttura di dati bidimensionale, ovvero i dati sono allineati in modo tabellare in righe e colonne. Pandas DataFrame è costituito da tre componenti principali: dati, righe e colonne.

Panda Dataframe

Può essere creato utilizzando il metodo Dataframe() e, proprio come una serie, può anche provenire da diversi tipi di file e strutture dati.

Panda Python che creano Dataframe

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 

Produzione:

Creazione di Dataframe dall

Creazione di Dataframe dall'elenco Python

Creazione di Dataframe da CSV

Noi possiamo creare un dataframe dal CSV file utilizzando il file leggi_csv() funzione.

I panda Python leggono CSV

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

Produzione:

capo di un dataframe

capo di un dataframe

Filtraggio di DataFrame

Panda dataframe.filtro() la funzione viene utilizzata per sottoimpostare righe o colonne di dataframe in base alle etichette nell'indice specificato. Tieni presente che questa routine non filtra un dataframe in base al suo contenuto. Il filtro viene applicato alle etichette dell'indice.

Dataframe del filtro 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() 

Produzione:

Applicazione del filtro al set di dati

Applicazione del filtro al set di dati

Ordinamento di DataFrame

Per ordinare il frame di dati nei panda, la funzione sort_values() si usa. Panda sort_values() può ordinare il frame di dati in ordine crescente o decrescente.

Python Panda ordina i dataframe in ordine crescente

Produzione:

Set di dati ordinato in base al valore di una colonna

Set di dati ordinato in base al valore di una colonna

Gruppo PandaBy

Raggruppa per è un concetto piuttosto semplice. Possiamo creare un raggruppamento di categorie e applicare una funzione alle categorie. Nei progetti di data science reali, avrai a che fare con grandi quantità di dati e proverai cose ancora e ancora, quindi per motivi di efficienza utilizziamo il concetto di Groupby. Groupby si riferisce principalmente a un processo che coinvolge uno o più dei seguenti passaggi che sono:

  • Divisione: È un processo in cui dividiamo i dati in gruppi applicando alcune condizioni ai set di dati.
  • Applicazione: È un processo in cui applichiamo una funzione a ciascun gruppo in modo indipendente.
  • Combinazione: È un processo in cui combiniamo diversi set di dati dopo aver applicato groupby e risultati in una struttura di dati.

L'immagine seguente aiuterà a comprendere il processo coinvolto nel concetto di Groupby.

1. Raggruppare i valori univoci dalla colonna Team

Metodo Pandas Groupby

2. Ora c'è un secchio per ogni gruppo

3. Getta gli altri dati nei contenitori

Gruppo PandaBy

4. Applicare una funzione sulla colonna del peso di ciascun contenitore.

Applicazione della funzione sulla colonna del peso di ciascuna colonna

Python Panda 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() 

Produzione:

panda groupby

panda groupby

Applicazione della funzione al gruppo:

Dopo aver suddiviso un dato in un gruppo, applichiamo una funzione a ciascun gruppo per fare ciò eseguiamo alcune operazioni che sono:

  • Aggregazione: È un processo in cui calcoliamo una statistica (o statistiche) riassuntiva su ciascun gruppo. Ad esempio, Calcola somme o medie del gruppo
  • Trasformazione: È un processo in cui eseguiamo alcuni calcoli specifici del gruppo e restituiamo un valore indicizzato simile. Ad esempio, compilando le NA all'interno dei gruppi con un valore derivato da ciascun gruppo
  • Filtrazione: È un processo in cui scartiamo alcuni gruppi, secondo un calcolo a livello di gruppo che valuta Vero o Falso. Ad esempio, filtraggio dei dati in base alla somma o alla media del gruppo

Aggregazione dei panda

Aggregazione è un processo in cui calcoliamo una statistica riassuntiva su ciascun gruppo. La funzione aggregata restituisce un singolo valore aggregato per ciascun gruppo. Dopo aver suddiviso i dati in gruppi utilizzando la funzione groupby, è possibile eseguire diverse operazioni di aggregazione sui dati raggruppati.

Aggregazione di Python Panda

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) 

Produzione:

Utilizzo della funzione di somma aggregata sul set di dati

Utilizzo della funzione di somma aggregata sul set di dati

Concatenazione di DataFrame

Per concatenare il dataframe, utilizziamo concat() funzione che aiuta a concatenare il dataframe. Questa funzione esegue tutto il lavoro pesante relativo all'esecuzione di operazioni di concatenazione insieme a un asse di oggetti Panda mentre esegue la logica di insieme opzionale (unione o intersezione) degli indici (se presenti) sugli altri assi.

I panda Python concatenano i dataframe

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 

Produzione:

Unione di DataFrame

Quando dobbiamo combinare DataFrame molto grandi, i join rappresentano un modo efficace per eseguire rapidamente queste operazioni. I join possono essere eseguiti solo su due DataFrame alla volta, indicati come tabelle sinistra e destra. La chiave è la colonna comune su cui verranno uniti i due DataFrame. È buona norma utilizzare chiavi con valori univoci in tutta la colonna per evitare la duplicazione involontaria dei valori delle righe. I panda forniscono un'unica funzione, unisci() , come punto di ingresso per tutte le operazioni di join di database standard tra oggetti DataFrame.

Esistono quattro modi fondamentali per gestire il join (interno, sinistro, destro ed esterno), a seconda di quali righe devono conservare i propri dati.

Unisci i panda Python Daframe

I panda Python uniscono Dataframe

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 

Produzione:

Concatenazione di due set di dati

Concatenazione di due set di dati

Partecipazione a DataFrame

Per unirci al dataframe, utilizziamo .giuntura() funzione questa funzione viene utilizzata per combinare le colonne di due DataFrame potenzialmente indicizzati in modo diverso in un unico DataFrame risultato.

I panda Python si uniscono a 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 

Produzione:

Unione di due set di dati

Per maggiori informazioni consultare la ns Panda che si uniscono, si uniscono e si concatenano tutorial

Per una guida completa sui Panda fate riferimento alla ns Tutorial sui panda .

Visualizzazione con Matplotlib

Matplotlib è facile da usare ed è una straordinaria libreria di visualizzazione in Python. È costruito su array NumPy e progettato per funzionare con lo stack SciPy più ampio e consiste di diversi grafici come linea, barra, dispersione, istogramma, ecc.

Pyplot

Pyplot è un modulo Matplotlib che fornisce un'interfaccia simile a MATLAB. Pyplot fornisce funzioni che interagiscono con la figura, ad esempio crea una figura, decora la trama con etichette e crea un'area di tracciamento in una figura.

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() 

Produzione:

Grafico a barre

UN trama della barra o grafico a barre è un grafico che rappresenta la categoria di dati con barre rettangolari con lunghezze e altezze proporzionali ai valori che rappresentano. I grafici a barre possono essere tracciati orizzontalmente o verticalmente. Un grafico a barre descrive i confronti tra le categorie distinte. Può essere creato utilizzando il metodo bar().

Grafico a barre Matplotlib Python

Qui utilizzeremo solo il set di dati dell'iride

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() 

Produzione:

Grafico a barre utilizzando la libreria matplotlib

Grafico a barre utilizzando la libreria matplotlib

Istogrammi

UN istogramma è fondamentalmente utilizzato per rappresentare i dati sotto forma di alcuni gruppi. È un tipo di grafico a barre in cui l'asse X rappresenta gli intervalli dei contenitori mentre l'asse Y fornisce informazioni sulla frequenza. Per creare un istogramma, il primo passo è creare un contenitore degli intervalli, quindi distribuire l'intero intervallo di valori in una serie di intervalli e contare i valori che rientrano in ciascuno degli intervalli. I contenitori sono chiaramente identificati come intervalli di variabili consecutivi e non sovrapposti. IL storia() la funzione viene utilizzata per calcolare e creare un istogramma di x.

Istogramma 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() 

Produzione:

Histplot utilizzando la libreria matplotlib

Grafico a dispersione

I grafici a dispersione vengono utilizzati per osservare la relazione tra le variabili e utilizzano i punti per rappresentare la relazione tra loro. IL dispersione() Il metodo nella libreria matplotlib viene utilizzato per disegnare un grafico a dispersione.

Grafico a dispersione 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() 

Produzione:

Grafico a dispersione utilizzando la libreria matplotlib

Grafico a dispersione utilizzando la libreria matplotlib

Trama a scatola

UN trama a scatola ,Correlazione nota anche come diagramma a scatola e baffi. È un'ottima rappresentazione visiva quando si tratta di misurare la distribuzione dei dati. Traccia chiaramente i valori mediani, i valori anomali e i quartili. Comprendere la distribuzione dei dati è un altro fattore importante che porta a una migliore costruzione del modello. Se i dati presentano valori anomali, il box plot è un metodo consigliato per identificarli e intraprendere le azioni necessarie. Il grafico a scatola e baffi mostra la distribuzione dei dati. Nel grafico sono generalmente incluse cinque informazioni

  • Il minimo è mostrato all’estrema sinistra del grafico, alla fine del “baffo” sinistro
  • Il primo quartile, Q1, è l'estrema sinistra della scatola (baffo sinistro)
  • La mediana è mostrata come una linea al centro del riquadro
  • Terzo quartile, Q3, mostrato all'estrema destra del riquadro (baffo destro)
  • Il massimo è all'estrema destra della casella

Rappresentazione del box plot

Intervallo interquartile

Intervallo interquartile

Illustrare il box plot

Illustrare il box plot

Grafico a scatola 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() 

Produzione:

Boxplot utilizzando la libreria matplotlib

Boxplot utilizzando la libreria matplotlib

Mappe di calore di correlazione

Una mappa termica 2D è uno strumento di visualizzazione dei dati che aiuta a rappresentare l'entità del fenomeno sotto forma di colori. Una mappa termica di correlazione è una mappa termica che mostra una matrice di correlazione 2D tra due dimensioni discrete, utilizzando celle colorate per rappresentare i dati solitamente da una scala monocromatica. I valori della prima dimensione vengono visualizzati come righe della tabella mentre la seconda dimensione è una colonna. Il colore della cella è proporzionale al numero di misurazioni che corrispondono al valore dimensionale. Ciò rende le mappe di calore di correlazione ideali per l'analisi dei dati poiché rende i modelli facilmente leggibili ed evidenzia le differenze e le variazioni negli stessi dati. Una mappa termica di correlazione, come una normale mappa termica, è assistita da una barra colorata che rende i dati facilmente leggibili e comprensibili.

Nota: I dati qui devono essere passati con il metodo corr() per generare una mappa termica di correlazione. Inoltre, corr() stessa elimina le colonne che non saranno utili durante la generazione di una mappa termica di correlazione e seleziona quelle che possono essere utilizzate.

Mappa termica di correlazione 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() 

Produzione:

Mappa termica utilizzando la libreria matplotlib

Mappa termica utilizzando la libreria matplotlib

Per ulteriori informazioni sulla visualizzazione dei dati fare riferimento ai nostri tutorial seguenti:

Articoli Più

Categoria

Articoli Interessanti