Analiza podatkov s Pythonom

V tem članku bomo razpravljali o tem, kako narediti analizo podatkov s Pythonom. Razpravljali bomo o vseh vrstah analiz podatkov, npr. analizi numeričnih podatkov z NumPy, tabelarnih podatkov s Pandas, vizualizacije podatkov Matplotlib in raziskovalne analize podatkov.

Analiza podatkov s Pythonom

Analiza podatkov je tehnika zbiranja, preoblikovanja in organiziranja podatkov za prihodnje napovedi in informirane odločitve na podlagi podatkov. Pomaga tudi pri iskanju možnih rešitev za poslovni problem. Obstaja šest korakov za analizo podatkov. To so:

  • Vprašajte ali določite podatkovne zahteve
  • Pripravite ali zberite podatke
  • Očistite in obdelajte
  • Analizirajte
  • Deliti
  • Ukrep ali prijava

Analiza podatkov s Pythonom



Opomba: Če želite izvedeti več o teh korakih, glejte naše NumPy je paket za obdelavo matrik v Pythonu in zagotavlja visoko zmogljiv večdimenzionalni matrični objekt in orodja za delo s temi polji. Je temeljni paket za znanstveno računalništvo s Pythonom.

Nizi v NumPy

Niz NumPy je tabela elementov (običajno števil), vseh istih tipov, indeksiranih s tulom pozitivnih celih števil. V Numpyju se število dimenzij matrike imenuje rang matrike. Tulka celih števil, ki dajejo velikost matrike vzdolž vsake dimenzije, je znana kot oblika matrike.

Ustvarjanje polja NumPy

Matrike NumPy je mogoče ustvariti na več načinov z različnimi rangi. Ustvariti ga je mogoče tudi z uporabo različnih podatkovnih tipov, kot so seznami, tuple itd. Tip nastale matrike se izpelje iz vrste elementov v zaporedju. NumPy ponuja več funkcij za ustvarjanje nizov z začetno vsebino ograd. Ti zmanjšajo potrebo po rasti nizov, ki je draga operacija.

Ustvari matriko z uporabo 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) 

Izhod:

Prazna matrika z uporabo pand

Prazna matrika z uporabo pand

Ustvari matriko z uporabo numpy.zeros(shape, dtype = None, order = '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) 

Izhod:

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

Operacije na nizih Numpy

Aritmetične operacije

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

Izhod:

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

Izhod:

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

Izhod:

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

Izhod:

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

Za več informacij se obrnite na našo NumPy – Vadnica za aritmetične operacije

Indeksiranje polja NumPy

Indeksiranje lahko naredite v NumPy z uporabo matrike kot indeksa. V primeru rezine je vrnjen pogled ali plitka kopija matrike, v indeksni matriki pa je vrnjena kopija izvirne matrike. Matrike Numpy je mogoče indeksirati z drugimi matrikami ali katerim koli drugim zaporedjem z izjemo tulp. Zadnji element je indeksiran z -1, zadnji z -2 in tako naprej.

Indeksiranje matrike 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) 

Izhod:

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

Rezanje polja NumPy

Razmislite o sintaksi x[obj], kjer je x matrika in obj indeks. Objekt rezine je indeks v primeru osnovno rezanje . Osnovno rezanje se zgodi, ko je obj:

  • predmet rezine, ki je v obliki začetek: stop: korak
  • celo število
  • ali nabor predmetov rezine in celih števil

Vse matrike, ustvarjene z osnovnim rezanjem, so vedno pogled v izvirni matriki.

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

Izhod:

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] 

Elipso lahko uporabite tudi skupaj z osnovnim rezanjem. Elipsa (…) je število : objektov, potrebnih za izdelavo izbirne tuple enake dolžine kot so dimenzije matrike.

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 ] 

Izhod:

[[ 2 5]  [ 8 11]] 

NumPy Array Broadcasting

Izraz oddajanje se nanaša na to, kako numpy obravnava matrike z različnimi dimenzijami med aritmetičnimi operacijami, ki vodijo do določenih omejitev, manjša matrika se oddaja čez večjo matriko, tako da imajo združljive oblike.

Predpostavimo, da imamo velik nabor podatkov, vsak podatek je seznam parametrov. V Numpyju imamo 2-D matriko, kjer je vsaka vrstica podatek, število vrstic pa je velikost nabora podatkov. Recimo, da želimo za vse te podatke uporabiti nekakšno skaliranje, vsak parameter dobi svoj faktor skaliranja ali recimo, da je vsak parameter pomnožen z nekim faktorjem.

Da bi imeli jasno razumevanje, preštejmo kalorije v živilih z razčlenitvijo makrohranil. Grobo povedano, kalorične dele hrane sestavljajo maščobe (9 kalorij na gram), beljakovine (4 CPG) in ogljikovi hidrati (4 CPG). Če torej navedemo nekatera živila (naši podatki) in za vsako živilo navedemo razčlenitev makrohranil (parametrov), lahko nato vsako hranilo pomnožimo z njegovo kalorično vrednostjo (uporabimo lestvico), da izračunamo kalorično razčlenitev vsakega živila.

NumPy Array Broadcasting

S to transformacijo lahko zdaj izračunamo vse vrste uporabnih informacij. Na primer, kakšno je skupno število kalorij v neki hrani ali glede na razčlenitev moje večerje vedeti, koliko kalorij sem dobil iz beljakovin in tako naprej.

Oglejmo si naiven način izdelave tega izračuna z Numpyjem:

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 

Izhod:

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

Pravila oddajanja: Pri oddajanju dveh nizov skupaj sledite tem pravilom:

  • Če nizi nimajo istega ranga, dodajte 1 s pred obliko niza nižjega ranga, dokler obe obliki nimata enake dolžine.
  • Polji sta združljivi v dimenziji, če imata enako velikost v dimenziji ali če ima ena od matrik velikost 1 v tej dimenziji.
  • Nizi se lahko oddajajo skupaj, če so združljivi z vsemi dimenzijami.
  • Po oddaji se vsaka matrika obnaša, kot da ima obliko, ki je enaka največjemu elementnemu številu oblik obeh vhodnih matrik.
  • V kateri koli dimenziji, kjer je imela ena matrika velikost 1 in druga matrika večjo od 1, se prva matrika obnaša, kot da bi bila kopirana vzdolž te dimenzije.
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) 

Izhod:

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

Opomba: Za več informacij se obrnite na našo Vadnica za Python NumPy .

Analiziranje podatkov z uporabo Pandas

Python Pandas Uporablja se za relacijske ali označene podatke in ponuja različne podatkovne strukture za manipulacijo takih podatkov in časovnih vrst. Ta knjižnica je zgrajena na vrhu knjižnice NumPy. Ta modul se običajno uvozi kot:

import pandas as pd 

Tu se pd imenuje vzdevek za Pande. Vendar pa ni potrebno uvoziti knjižnice z uporabo vzdevka, le pomaga pri pisanju manjše količine kode vsakič, ko se pokliče metoda ali lastnost. Pande na splošno zagotavljajo dve podatkovni strukturi za manipulacijo podatkov, to sta:

  • serija
  • Dataframe

serija:

Serija Pande je enodimenzionalna označena matrika, ki lahko vsebuje podatke katere koli vrste (celo število, niz, float, objekte python itd.). Oznake osi se skupaj imenujejo indeksi. Serija Pandas ni nič drugega kot stolpec v excelovem listu. Ni nujno, da so oznake unikatne, vendar morajo biti vrste, ki jo je mogoče zgostiti. Objekt podpira tako indeksiranje na podlagi celih števil kot indeksiranje na podlagi oznak in nudi množico metod za izvajanje operacij, ki vključujejo indeks.

Serija Pande

Ustvarite ga lahko s funkcijo Series() tako, da naložite nabor podatkov iz obstoječega pomnilnika, kot so SQL, zbirka podatkov, datoteke CSV, datoteke Excel itd., ali iz podatkovnih struktur, kot so seznami, slovarji itd.

Serija ustvarjanja Python Pandas

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) 

Izhod:

serija pnadas

serija pnadas

Dataframe:

Pandas DataFrame je dvodimenzionalna velikostno spremenljiva, potencialno heterogena tabelarična podatkovna struktura z označenimi osmi (vrstice in stolpci). Podatkovni okvir je dvodimenzionalna podatkovna struktura, tj. podatki so tabelarno poravnani v vrsticah in stolpcih. Pandas DataFrame je sestavljen iz treh glavnih komponent, podatkov, vrstic in stolpcev.

Pandas Dataframe

Ustvari se lahko z metodo Dataframe() in tako kot serija je lahko tudi iz različnih vrst datotek in podatkovnih struktur.

Python Pandas Ustvarjanje podatkovnega okvira

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 

Izhod:

Ustvarjanje podatkovnega okvirja s seznama

Ustvarjanje Dataframe iz seznama python

Ustvarjanje Dataframe iz CSV

Mi lahko ustvarite podatkovni okvir iz CSV datoteke z uporabo read_csv() funkcijo.

Python Pandas bere CSV

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

Izhod:

glava podatkovnega okvira

glava podatkovnega okvira

Filtriranje DataFrame

Pande dataframe.filter() funkcija se uporablja za podnabor vrstic ali stolpcev podatkovnega okvira glede na oznake v podanem indeksu. Upoštevajte, da ta rutina ne filtrira podatkovnega okvira glede na njegovo vsebino. Filter se uporabi za oznake indeksa.

Podatkovni okvir filtra 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() 

Izhod:

Uporaba filtra za nabor podatkov

Uporaba filtra za nabor podatkov

Razvrščanje DataFrame

Če želite razvrstiti podatkovni okvir v pandah, uporabite funkcijo sort_values() se uporablja. Pandas sort_values() lahko razvrsti podatkovni okvir v naraščajočem ali padajočem vrstnem redu.

Python Pandas razvršča podatkovni okvir v naraščajočem vrstnem redu

Izhod:

Razvrščen nabor podatkov na podlagi vrednosti stolpca

Razvrščen nabor podatkov na podlagi vrednosti stolpca

Pandas GroupBy

Groupby je precej preprost koncept. Ustvarimo lahko skupino kategorij in za kategorije uporabimo funkcijo. V resničnih projektih znanosti o podatkih boste imeli opravka z velikimi količinami podatkov in preizkušali stvari znova in znova, zato za učinkovitost uporabljamo koncept Groupby. Groupby se v glavnem nanaša na postopek, ki vključuje enega ali več naslednjih korakov:

  • Razdelitev: To je proces, pri katerem podatke razdelimo v skupine z uporabo nekaterih pogojev na naborih podatkov.
  • Prijavljanje: Je proces, v katerem uporabimo funkcijo za vsako skupino neodvisno.
  • Združevanje: Gre za postopek, pri katerem združimo različne nabore podatkov po uporabi groupby in rezultate v podatkovno strukturo.

Naslednja slika bo pomagala razumeti proces, ki je vključen v koncept Groupby.

1. Združite edinstvene vrednosti iz stolpca Ekipa

Metoda Panda Groupby

2. Zdaj je za vsako skupino svoje vedro

3. Druge podatke stresite v vedra

Pandas GroupBy

4. Uporabite funkcijo za stolpec teže vsakega vedra.

Uporaba funkcije v stolpcu teže vsakega stolpca

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

Izhod:

pande groupby

pande groupby

Uporaba funkcije za skupino:

Po razdelitvi podatkov v skupino uporabimo funkcijo za vsako skupino, da izvedemo nekaj operacij, ki so:

  • Združevanje: To je postopek, v katerem izračunamo skupno statistiko (ali statistiko) o vsaki skupini. Na primer, izračunajte skupinske vsote ali povprečja
  • Transformacija: To je proces, v katerem izvedemo nekaj izračunov, specifičnih za skupino, in vrnemo podobno indeksirano. Na primer, polnjenje NA znotraj skupin z vrednostjo, ki izhaja iz vsake skupine
  • Filtracija: To je postopek, v katerem zavržemo nekatere skupine glede na skupinski izračun, ki oceni True ali False. Na primer, filtriranje podatkov glede na skupinsko vsoto ali povprečje

Pandas Aggregation

Združevanje je proces, v katerem izračunamo sumarno statistiko o vsaki skupini. Agregirana funkcija vrne eno samo agregirano vrednost za vsako skupino. Po razdelitvi podatkov v skupine s funkcijo groupby je mogoče na združenih podatkih izvesti več operacij združevanja.

Združevanje Python Pandas

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) 

Izhod:

Uporaba agregatne funkcije vsote na naboru podatkov

Uporaba agregatne funkcije vsote na naboru podatkov

Združevanje DataFrame

Da bi povezali podatkovni okvir, uporabljamo concat() funkcija, ki pomaga pri povezovanju podatkovnega okvira. Ta funkcija opravlja vse težke naloge izvajanja operacij veriženja skupaj z osjo objektov Pandas, medtem ko izvaja izbirno nastavljeno logiko (združevanje ali presečišče) indeksov (če obstajajo) na drugih oseh.

Python Pandas Concatenate 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 

Izhod:

Združevanje DataFrame

Ko moramo združiti zelo velike podatkovne okvire, združitve služijo kot močan način za hitro izvajanje teh operacij. Združevanja je mogoče izvesti samo na dveh podatkovnih okvirih hkrati, označenih kot leva in desna tabela. Ključ je skupni stolpec, v katerem bosta združena dva podatkovna okvira. Dobra praksa je uporaba ključev, ki imajo edinstvene vrednosti v celotnem stolpcu, da se izognete nenamernemu podvajanju vrednosti vrstic. Pande zagotavljajo eno samo funkcijo, združi () , kot vstopno točko za vse standardne operacije združevanja baze podatkov med objekti DataFrame.

Obstajajo štirje osnovni načini za ravnanje z združevanjem (notranji, levi, desni in zunanji), odvisno od tega, katere vrstice morajo ohraniti svoje podatke.

Združi Daframe Python Pandas

Python Pandas Merge 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 

Izhod:

Povezovanje dveh nizov podatkov

Povezovanje dveh nizov podatkov

Pridruževanje DataFrame

Da bi se pridružili podatkovnemu okvirju, uporabljamo .join() Ta funkcija se uporablja za združevanje stolpcev dveh potencialno različno indeksiranih DataFrame v en rezultat DataFrame.

Python Pandas Join 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 

Izhod:

Združevanje dveh nizov podatkov

Za več informacij se obrnite na našo Pande Spajanje, združevanje in veriženje vadnica

Za celoten vodnik o pandah si oglejte naše Vadnica Pandas .

Vizualizacija z Matplotlib

Matplotlib je enostaven za uporabo in neverjetna vizualizacijska knjižnica v Pythonu. Zgrajen je na nizih NumPy in zasnovan za delo s širšim skladom SciPy ter je sestavljen iz več grafov, kot so črta, stolpec, razpršenost, histogram itd.

Pyplot

Pyplot je modul Matplotlib, ki nudi vmesnik, podoben MATLAB-u. Pyplot ponuja funkcije, ki so v interakciji s figuro, tj. ustvari figuro, okrasi risbo z oznakami in ustvari območje za risanje v figuri.

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

Izhod:

Stolpični diagram

A barska parcela ali palični grafikon je graf, ki predstavlja kategorijo podatkov s pravokotnimi palicami z dolžinami in višinami, ki so sorazmerne z vrednostmi, ki jih predstavljajo. Palične ploskve lahko narišete vodoravno ali navpično. Palični grafikon opisuje primerjave med ločenimi kategorijami. Ustvarite ga lahko z metodo bar().

Palični grafikon Python Matplotlib

Tukaj bomo uporabili samo nabor podatkov šarenice

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

Izhod:

Palični grafikon z uporabo knjižnice matplotlib

Palični grafikon z uporabo knjižnice matplotlib

Histogrami

A histogram se v bistvu uporablja za predstavitev podatkov v obliki nekaterih skupin. To je vrsta paličnega grafikona, kjer os X predstavlja razpone binov, medtem ko os Y daje informacije o frekvenci. Če želite ustvariti histogram, je prvi korak, da ustvarite bin obsegov, nato porazdelite celoten obseg vrednosti v vrsto intervalov in preštejete vrednosti, ki spadajo v vsakega od intervalov. Koši so jasno označeni kot zaporedni intervali spremenljivk, ki se ne prekrivajo. The hist() funkcija se uporablja za izračun in ustvarjanje histograma x.

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

Izhod:

Histplot z uporabo knjižnice matplotlib

Graf raztrosa

Razpršeni diagrami se uporabljajo za opazovanje odnosa med spremenljivkami in uporabljajo pike za prikaz odnosa med njimi. The razprši () metoda v knjižnici matplotlib se uporablja za risanje razpršenega grafa.

Python Matplotlib Scatter Plot

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

Izhod:

Raztreseni grafikon z uporabo knjižnice matplotlib

Raztreseni grafikon z uporabo knjižnice matplotlib

Box Plot

A boxplot ,Korelacija, znana tudi kot graf škatle in brkov. Je zelo dobra vizualna predstavitev, ko gre za merjenje porazdelitve podatkov. Jasno prikazuje mediane vrednosti, izstopajoče vrednosti in kvartile. Razumevanje distribucije podatkov je še en pomemben dejavnik, ki vodi k boljši gradnji modela. Če imajo podatki odstopanja, je okvirni izris priporočen način za njihovo prepoznavanje in izvajanje potrebnih ukrepov. Grafikon s škatlami in brki prikazuje, kako so podatki razpršeni. V tabeli je običajno vključenih pet informacij

  • Najmanjša vrednost je prikazana na skrajni levi strani grafikona, na koncu levega 'brka'
  • Prvi kvartil, Q1, je skrajno levo od polja (levi brk)
  • Mediana je prikazana kot črta na sredini polja
  • Tretji kvartil, Q3, prikazan na skrajni desni strani polja (desna brka)
  • Največ je na skrajni desni strani polja

Predstavitev škatlaste ploskve

Interkvartilni razpon

Interkvartilni razpon

Ilustriranje škatlastega zapleta

Ilustriranje škatlastega zapleta

Python Matplotlib Box Plot

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

Izhod:

Boxplot z uporabo knjižnice matplotlib

Boxplot z uporabo knjižnice matplotlib

Korelacijski toplotni zemljevidi

2-D Heatmap je orodje za vizualizacijo podatkov, ki pomaga predstaviti velikost pojava v obliki barv. Korelacijski toplotni zemljevid je toplotni zemljevid, ki prikazuje 2D korelacijsko matriko med dvema diskretnima dimenzijama z uporabo barvnih celic za predstavitev podatkov iz navadno monokromatskega merila. Vrednosti prve dimenzije so prikazane kot vrstice tabele, medtem ko je druga dimenzija stolpec. Barva celice je sorazmerna s številom meritev, ki ustrezajo dimenzijski vrednosti. Zaradi tega so korelacijski toplotni zemljevidi idealni za analizo podatkov, saj naredijo vzorce zlahka berljive in poudarijo razlike in variacije v istih podatkih. Korelacijski toplotni zemljevid, tako kot običajni toplotni zemljevid, podpira barvna vrstica, zaradi katere so podatki lahko berljivi in ​​razumljivi.

Opomba: Podatke je treba posredovati z metodo corr(), da se ustvari korelacijski toplotni zemljevid. Prav tako corr() sam izloči stolpce, ki med ustvarjanjem korelacijskega toplotnega zemljevida ne bodo koristni, in izbere tiste, ki jih je mogoče uporabiti.

Korelacijski toplotni zemljevid 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() 

Izhod:

Toplotni zemljevid z uporabo knjižnice matplotlib

Toplotni zemljevid z uporabo knjižnice matplotlib

Za več informacij o vizualizaciji podatkov glejte naše spodnje vadnice –

Top Članki

Kategorija

Zanimivi Članki