Anàlisi de dades amb Python

En aquest article, parlarem de com fer anàlisi de dades amb Python. Parlarem de tot tipus d'anàlisi de dades, és a dir, anàlisi de dades numèriques amb NumPy, dades tabulars amb Pandas, visualització de dades Matplotlib i anàlisi de dades exploratòria.

Anàlisi de dades amb Python

Anàlisi de dades és la tècnica de recopilar, transformar i organitzar dades per fer prediccions futures i prendre decisions basades en dades. També ajuda a trobar possibles solucions per a un problema empresarial. Hi ha sis passos per a l'anàlisi de dades. Ells són:

  • Pregunteu o especifiqueu els requisits de dades
  • Preparar o recopilar dades
  • Neteja i procés
  • Analitzar
  • Compartir
  • Acte o informe

Anàlisi de dades amb Python



Nota: Per saber més sobre aquests passos, consulteu el nostre NumPy és un paquet de processament de matrius en Python i proporciona un objecte de matriu multidimensional d'alt rendiment i eines per treballar amb aquestes matrius. És el paquet fonamental per a la informàtica científica amb Python.

Matrius en NumPy

Matriu NumPy és una taula d'elements (normalment nombres), tots del mateix tipus, indexats per una tupla de nombres enters positius. A Numpy, el nombre de dimensions de la matriu s'anomena rang de la matriu. Una tupla de nombres enters que donen la mida de la matriu al llarg de cada dimensió es coneix com la forma de la matriu.

Creant la matriu NumPy

Les matrius NumPy es poden crear de diverses maneres, amb diferents rangs. També es pot crear amb l'ús de diferents tipus de dades com llistes, tuples, etc. El tipus de matriu resultant es dedueix del tipus d'elements de les seqüències. NumPy ofereix diverses funcions per crear matrius amb contingut inicial de marcador de posició. Aquests minimitzen la necessitat de fer créixer matrius, una operació costosa.

Crea una matriu utilitzant numpy.empty (forma, dtype=float, order='C')

Python 3
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) 

Sortida:

Matrix buida utilitzant pandes

Matrix buida utilitzant pandes

Crea una matriu utilitzant numpy.zeros (forma, dtype = Cap, ordre = 'C')

Python 3
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) 

Sortida:

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

Operacions amb Numpy Arrays

Operacions aritmètiques

  • Addició:
Python 3
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) 

Sortida:

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

Sortida:

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

Sortida:

[ 10 360 130 3000] [ 10 360 130 3000] 
  • Divisió:
Python 3
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) 

Sortida:

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

Per a més informació, consulteu el nostre NumPy – Tutorial d'operacions aritmètiques

Indexació de matrius NumPy

Indexació es pot fer a NumPy utilitzant una matriu com a índex. En el cas del slice, es retorna una vista o còpia superficial de la matriu, però a la matriu d'índex, es retorna una còpia de la matriu original. Les matrius Numpy es poden indexar amb altres matrius o qualsevol altra seqüència amb l'excepció de les tuples. L'últim element s'indexa per -1 segon per -2 i així successivament.

Indexació de matrius Python NumPy

Python 3
# 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) 

Sortida:

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

NumPy Array Slicing

Considereu la sintaxi x[obj] on x és la matriu i obj és l'índex. L'objecte slice és l'índex en el cas de tallat bàsic . El tall bàsic es produeix quan obj és:

  • un objecte slice que té la forma start: stop: step
  • un nombre enter
  • o una tupla d'objectes i nombres enters

Totes les matrius generades mitjançant el tall bàsic són sempre la vista de la matriu original.

Python 3
# 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:]) 

Sortida:

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] 

Els punts suspensius també es poden utilitzar juntament amb el tall bàsic. Els punts suspensius (...) és el nombre d'objectes necessaris per fer una tupla de selecció de la mateixa longitud que les dimensions de la matriu.

Python 3
# 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 ] 

Sortida:

[[ 2 5]  [ 8 11]] 

NumPy Array Broadcasting

El terme emissió fa referència a com numpy tracta les matrius amb diferents dimensions durant les operacions aritmètiques que donen lloc a determinades restriccions, la matriu més petita s'emet a la matriu més gran perquè tinguin formes compatibles.

Suposem que tenim un conjunt de dades gran, cada dada és una llista de paràmetres. A Numpy tenim una matriu 2-D, on cada fila és una dada i el nombre de files és la mida del conjunt de dades. Suposem que volem aplicar algun tipus d'escala a totes aquestes dades, cada paràmetre té el seu propi factor d'escala o diem que cada paràmetre es multiplica per algun factor.

Només per tenir-ne una comprensió clara, comptem les calories dels aliments mitjançant un desglossament de macronutrients. En termes generals, les parts calòriques dels aliments estan fetes de greixos (9 calories per gram), proteïnes (4 CPG) i carbohidrats (4 CPG). Així, si enumerem alguns aliments (les nostres dades) i, per a cada aliment, enumerem la seva distribució de macronutrients (paràmetres), podem multiplicar cada nutrient pel seu valor calòric (aplicar l'escala) per calcular la descomposició calòrica de cada aliment.

NumPy Array Broadcasting

Amb aquesta transformació, ara podem calcular tot tipus d'informació útil. Per exemple, quin és el nombre total de calories presents en algun aliment o, tenint en compte un desglossament del meu sopar, sé quantes calories he obtingut de les proteïnes, etc.

Vegem una manera ingènua de produir aquest càlcul amb Numpy:

Python 3
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 

Sortida:

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

Normes de difusió: La difusió de dues matrius juntes segueix aquestes regles:

  • Si les matrius no tenen el mateix rang, anteposeu la forma de la matriu de rang inferior amb 1 fins que les dues formes tinguin la mateixa longitud.
  • Les dues matrius són compatibles en una dimensió si tenen la mateixa mida a la dimensió o si una de les matrius té la mida 1 en aquesta dimensió.
  • Les matrius es poden emetre juntes si són compatibles amb totes les dimensions.
  • Després de la difusió, cada matriu es comporta com si tingués una forma igual al màxim de formes per elements de les dues matrius d'entrada.
  • En qualsevol dimensió on una matriu tenia una mida d'1 i l'altra matriu tenia una mida superior a 1, la primera matriu es comporta com si hagués copiat al llarg d'aquesta dimensió.
Python 3
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) 

Sortida:

[[ 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 a més informació, consulteu el nostre Tutorial Python NumPy .

Anàlisi de dades amb Pandas

Python Pandas s'utilitza per a dades relacionals o etiquetades i proporciona diverses estructures de dades per manipular aquestes dades i sèries temporals. Aquesta biblioteca es construeix a sobre de la biblioteca NumPy. Aquest mòdul s'importa generalment com:

import pandas as pd 

Aquí, pd es coneix com un àlies dels Pandas. Tanmateix, no és necessari importar la biblioteca utilitzant l'àlies, només ajuda a escriure menys quantitat de codi cada vegada que es crida un mètode o propietat. Els pandas generalment proporcionen dues estructures de dades per manipular dades, són:

  • Sèrie
  • Marc de dades

Sèrie:

Sèrie Pandes és una matriu etiquetada unidimensional capaç de contenir dades de qualsevol tipus (nombres, cadenes, objectes flotants, python, etc.). Les etiquetes dels eixos s'anomenen col·lectivament índexs. La sèrie Pandas no és més que una columna en un full d'excel. Les etiquetes no han de ser úniques, sinó que han de ser de tipus hashable. L'objecte admet tant la indexació basada en sencers com en etiquetes i proporciona una sèrie de mètodes per realitzar operacions que involucren l'índex.

Sèrie Pandes

Es pot crear mitjançant la funció Series() carregant el conjunt de dades des de l'emmagatzematge existent com SQL, base de dades, fitxers CSV, fitxers Excel, etc., o des d'estructures de dades com llistes, diccionaris, etc.

Sèrie de creació de Python Pandas

Python 3
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) 

Sortida:

sèrie de pnadas

sèrie de pnadas

Marc de dades:

Pandas DataFrame és una estructura de dades tabulars bidimensionals de mida variable i potencialment heterogènia amb eixos etiquetats (files i columnes). Un marc de dades és una estructura de dades bidimensional, és a dir, les dades s'alineen de manera tabular en files i columnes. Pandas DataFrame consta de tres components principals, les dades, les files i les columnes.

Pandas Dataframe

Es pot crear mitjançant el mètode Dataframe() i, com una sèrie, també pot ser de diferents tipus de fitxers i estructures de dades.

Python Pandas creant un marc de dades

Python 3
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 

Sortida:

Creació de Dataframe a partir de la llista

Creació de Dataframe a partir de la llista Python

Creació de Dataframe a partir de CSV

Podem crear un marc de dades a partir del CSV fitxers utilitzant el read_csv() funció.

Python Pandas llegeix CSV

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

Sortida:

cap d

cap d'un marc de dades

Filtrat DataFrame

Pandes dataframe.filter() La funció s'utilitza per subconjuntar files o columnes del marc de dades segons les etiquetes de l'índex especificat. Tingueu en compte que aquesta rutina no filtra un marc de dades pel seu contingut. El filtre s'aplica a les etiquetes de l'índex.

Python Pandas Filter Dataframe

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

Sortida:

S

Aplicant un filtre al conjunt de dades

Ordenant DataFrame

Per ordenar el marc de dades en pandas, la funció valors_ordenar() s'utilitza. Pandas sort_values() pot ordenar el marc de dades en ordre ascendent o descendent.

Python Pandas Ordenant el marc de dades en ordre ascendent

Sortida:

Conjunt de dades ordenat en funció del valor d

Conjunt de dades ordenat en funció del valor d'una columna

Pandas GroupBy

Agrupar per és un concepte força senzill. Podem crear una agrupació de categories i aplicar una funció a les categories. En els projectes de ciència de dades reals, tractaràs grans quantitats de dades i provaràs coses una i altra vegada, de manera que per a l'eficiència, utilitzem el concepte Groupby. Groupby es refereix principalment a un procés que implica un o més dels passos següents:

  • Divisió: És un procés en el qual dividim les dades en grups aplicant algunes condicions als conjunts de dades.
  • Aplicant: És un procés en el qual apliquem una funció a cada grup de manera independent.
  • Combinant: És un procés en el qual combinem diferents conjunts de dades després d'aplicar groupby i resultats en una estructura de dades.

La imatge següent us ajudarà a entendre el procés implicat en el concepte Groupby.

1. Agrupeu els valors únics de la columna Equip

Mètode Pandas Groupby

2. Ara hi ha una galleda per a cada grup

3. Llenceu les altres dades a les galledes

Pandas GroupBy

4. Aplica una funció a la columna de pes de cada galleda.

Aplicació de la funció a la columna de pes de cada columna

Python Pandas GroupBy

Python 3
# 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() 

Sortida:

grup de pandes

grup de pandes

Aplicació de la funció al grup:

Després de dividir una dada en un grup, apliquem una funció a cada grup per tal de fer que realitzem algunes operacions que són:

  • Agregació: És un procés en el qual calculem una estadística (o estadístiques) resum de cada grup. Per exemple, Calculeu sumes o mitjanes de grup
  • Transformació: És un procés en el qual realitzem alguns càlculs específics de grup i tornem un indexat similar. Per exemple, omplir NA dins de grups amb un valor derivat de cada grup
  • Filtració: És un procés en el qual descartem alguns grups, segons un càlcul grupal que avalua Vertader o Fals. Per exemple, filtrant dades en funció de la suma o la mitjana del grup

Agregació Pandas

Agregació és un procés en el qual calculem una estadística resum de cada grup. La funció agregada retorna un únic valor agregat per a cada grup. Després de dividir les dades en grups mitjançant la funció groupby, es poden realitzar diverses operacions d'agregació sobre les dades agrupades.

Agregació Python Pandas

Python 3
# 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) 

Sortida:

Ús de la funció de suma agregada al conjunt de dades

Ús de la funció de suma agregada al conjunt de dades

Concatenació de DataFrame

Per connectar el marc de dades, fem servir concat() funció que ajuda a concatenar el marc de dades. Aquesta funció fa tot el treball pesat de realitzar operacions de concatenació juntament amb un eix d'objectes Pandas mentre realitza la lògica de conjunt opcional (unió o intersecció) dels índexs (si n'hi ha) als altres eixos.

Python Pandas Concatena Dataframe

Python 3
# 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 

Sortida:

Fusionant DataFrame

Quan necessitem combinar DataFrames molt grans, les unions serveixen com una manera potent de realitzar aquestes operacions ràpidament. Les unions només es poden fer en dos DataFrames alhora, indicats com a taules esquerra i dreta. La clau és la columna comuna on s'uniran els dos DataFrames. És una bona pràctica utilitzar claus que tinguin valors únics a tota la columna per evitar la duplicació no desitjada dels valors de les files. Els pandes ofereixen una única funció, combinar () , com a punt d'entrada per a totes les operacions estàndard d'unió de bases de dades entre objectes DataFrame.

Hi ha quatre maneres bàsiques de gestionar la unió (interior, esquerra, dreta i exterior), depenent de quines files han de conservar les seves dades.

Combina Daframe Python Pandas

Python Pandas Merge Dataframe

Python 3
# 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 

Sortida:

Concatinació de dos conjunts de dades

Concatinació de dos conjunts de dades

Unir-se a DataFrame

Per unir-nos al dataframe, fem servir .join() funció aquesta funció s'utilitza per combinar les columnes de dos DataFrames potencialment indexats de manera diferent en un únic DataFrame de resultat.

Python Pandas s'uneix a Dataframe

Python 3
# 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 

Sortida:

Unir dos conjunts de dades

Per a més informació, consulteu el nostre Pandes fusionant, unint-se i concatenant tutorial

Per obtenir una guia completa sobre Pandas, consulteu el nostre Tutorial Pandas .

Visualització amb Matplotlib

Matplotlib és fàcil d'utilitzar i una biblioteca de visualització increïble a Python. Està construït sobre matrius NumPy i està dissenyat per funcionar amb la pila SciPy més àmplia i consta de diverses trames com la línia, la barra, la dispersió, l'histograma, etc.

Pyplot

Pyplot és un mòdul Matplotlib que proporciona una interfície semblant a MATLAB. Pyplot proporciona funcions que interactuen amb la figura, és a dir, crea una figura, decora la trama amb etiquetes i crea una àrea de traçat en una figura.

Python 3
# 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() 

Sortida:

Gràfic de barres

A trama de barres o gràfic de barres és un gràfic que representa la categoria de dades amb barres rectangulars amb longituds i altures que és proporcional als valors que representen. Els diagrames de barres es poden traçar horitzontalment o verticalment. Un gràfic de barres descriu les comparacions entre les categories discretes. Es pot crear mitjançant el mètode bar().

Gràfic de barres de Python Matplotlib

Aquí només utilitzarem el conjunt de dades de l'iris

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

Sortida:

Gràfic de barres utilitzant la biblioteca matplotlib

Gràfic de barres utilitzant la biblioteca matplotlib

Histogrames

A histograma s'utilitza bàsicament per representar dades en forma d'alguns grups. És un tipus de gràfic de barres on l'eix X representa els intervals de la safata mentre que l'eix Y dóna informació sobre la freqüència. Per crear un histograma, el primer pas és crear una safata dels intervals, després distribuir tot el rang dels valors en una sèrie d'intervals i comptar els valors que cauen en cadascun dels intervals. Les papereres s'identifiquen clarament com a intervals de variables consecutius i no superposats. El hist() La funció s'utilitza per calcular i crear un histograma de x.

Histograma Matplotlib de Python

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

Sortida:

Histplot utilitzant la biblioteca matplotlib

Gràfic de dispersió

Els diagrames de dispersió s'utilitzen per observar la relació entre variables i utilitzen punts per representar la relació entre elles. El dispersió() El mètode de la biblioteca matplotlib s'utilitza per dibuixar un diagrama de dispersió.

Gràfic de dispersió de Python Matplotlib

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

Sortida:

Gràfic de dispersió mitjançant la biblioteca matplotlib

Gràfic de dispersió mitjançant la biblioteca matplotlib

Plot de caixa

A trama de caixa ,Correlació també coneguda com a diagrama de caixa i bigotis. És una molt bona representació visual quan es tracta de mesurar la distribució de dades. Representa clarament els valors de la mitjana, els valors atípics i els quartils. Entendre la distribució de dades és un altre factor important que condueix a una millor construcció de models. Si les dades tenen valors atípics, el diagrama de caixa és una manera recomanada d'identificar-los i prendre les accions necessàries. El gràfic de caixa i bigotis mostra com es distribueixen les dades. Generalment s'inclouen cinc peces d'informació al gràfic

  • El mínim es mostra a l'extrem esquerre del gràfic, al final del 'bigotis' esquerre
  • El primer quartil, Q1, és l'extrem esquerre del quadre (bigotis esquerre)
  • La mediana es mostra com una línia al centre del quadre
  • Tercer quartil, Q3, que es mostra a l'extrem dret del quadre (bigotis dret)
  • El màxim es troba a l'extrem dret del quadre

Representació de box plot

Interval entre quartils

Interval entre quartils

Il·lustració de la trama de caixa

Il·lustració de la trama de caixa

Python Matplotlib Box Plot

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

Sortida:

Boxplot utilitzant la biblioteca matplotlib

Boxplot utilitzant la biblioteca matplotlib

Mapes de calor de correlació

Un mapa de calor 2D és una eina de visualització de dades que ajuda a representar la magnitud del fenomen en forma de colors. Un mapa de calor de correlació és un mapa de calor que mostra una matriu de correlació 2D entre dues dimensions discretes, utilitzant cel·les de colors per representar dades d'una escala monocromàtica. Els valors de la primera dimensió apareixen com a files de la taula mentre que la segona dimensió és una columna. El color de la cel·la és proporcional al nombre de mesures que coincideixen amb el valor dimensional. Això fa que els mapes de calor de correlació siguin ideals per a l'anàlisi de dades, ja que fa que els patrons siguin fàcilment llegibles i destaca les diferències i la variació de les mateixes dades. Un mapa de calor de correlació, com un mapa de calor normal, està assistit per una barra de colors que fa que les dades siguin fàcilment llegibles i comprensibles.

Nota: Les dades aquí s'han de passar amb el mètode corr() per generar un mapa de calor de correlació. A més, corr() elimina les columnes que no serviran de res mentre es genera un mapa de calor de correlació i selecciona aquelles que es poden utilitzar.

Mapa de calor de correlació de Python Matplotlib

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

Sortida:

Mapa de calor utilitzant la biblioteca matplotlib

Mapa de calor utilitzant la biblioteca matplotlib

Per obtenir més informació sobre la visualització de dades, consulteu els nostres tutorials següents:

Articles Més Populars

Categoria

Articles D'Interès