Datu analīze ar Python

Šajā rakstā mēs apspriedīsim, kā veikt datu analīzi, izmantojot Python. Mēs apspriedīsim visu veidu datu analīzi, t.i., skaitlisko datu analīzi ar NumPy, tabulu datu analīzi ar Pandas, datu vizualizāciju Matplotlib un izpētes datu analīzi.

Datu analīze ar Python

Datu analīze ir datu vākšanas, pārveidošanas un kārtošanas paņēmiens, lai veiktu nākotnes prognozes un uz datiem balstītus lēmumus. Tas arī palīdz atrast iespējamos biznesa problēmas risinājumus. Datu analīzei ir seši soļi. Viņi ir:

  • Jautājiet vai norādiet datu prasības
  • Sagatavojiet vai vāciet datus
  • Tīrīšana un apstrāde
  • Analizēt
  • Dalīties
  • Rīkojieties vai ziņojiet

Datu analīze ar Python



Piezīme: Lai uzzinātu vairāk par šīm darbībām, skatiet mūsu NumPy ir masīvu apstrādes pakotne programmā Python un nodrošina augstas veiktspējas daudzdimensiju masīva objektu un rīkus darbam ar šiem masīviem. Tā ir pamatpakete zinātniskai skaitļošanai ar Python.

Masīvi valodā NumPy

NumPy masīvs ir viena un tā paša veida elementu (parasti skaitļu) tabula, kas indeksēta ar pozitīvu veselu skaitļu virkni. Programmā Numpy masīva izmēru skaitu sauc par masīva rangu. Veselu skaitļu kopa, kas norāda masīva lielumu katrā dimensijā, ir pazīstama kā masīva forma.

NumPy masīva izveide

NumPy masīvus var izveidot vairākos veidos ar dažādām rindām. To var arī izveidot, izmantojot dažādus datu tipus, piemēram, sarakstus, korešus utt. Rezultātā iegūtā masīva veids tiek secināts no sekvenču elementu veida. NumPy piedāvā vairākas funkcijas, lai izveidotu masīvus ar sākotnējo viettura saturu. Tie samazina masīvu audzēšanas nepieciešamību, kas ir dārga darbība.

Izveidojiet masīvu, izmantojot numpy.empty(forma, 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) 

Izvade:

Iztukšojiet matricu, izmantojot pandas

Iztukšojiet matricu, izmantojot pandas

Izveidojiet masīvu, izmantojot numpy.zeros(forma, dtype = nav, secība = '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) 

Izvade:

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

Operācijas ar Numpy Arrays

Aritmētiskās operācijas

  • Papildinājums:
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) 

Izvade:

[ 7 77 23 130] [ 7 77 23 130] [ 8 79 26 134] [ 7 77 23 130] 
  • Atņemšana:
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) 

Izvade:

[ 3 67 3 70] [ 3 67 3 70] 
  • Reizināšana:
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) 

Izvade:

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

Izvade:

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

Lai iegūtu papildinformāciju, skatiet mūsu NumPy — aritmētisko darbību apmācība

NumPy masīva indeksēšana

Indeksēšana var izdarīt NumPy, izmantojot masīvu kā indeksu. Šķēles gadījumā tiek atgriezts skats vai sekla masīva kopija, bet indeksu masīvā tiek atgriezta sākotnējā masīva kopija. Numpy masīvus var indeksēt ar citiem masīviem vai jebkuru citu secību, izņemot korešus. Pēdējais elements tiek indeksēts ar -1 sekundi, pēdējais ar -2 un tā tālāk.

Python NumPy masīva indeksācija

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) 

Izvade:

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

NumPy masīva sagriešana

Apsveriet sintaksi x[obj], kur x ir masīvs un obj ir indekss. Šķēles objekts ir indekss gadījumā pamata sagriešana . Pamata sagriešana notiek, ja obj ir:

  • šķēles objekts, kura forma ir sākums: apstāšanās: solis
  • vesels skaitlis
  • vai slāņu objektu un veselu skaitļu kopa

Visi masīvi, kas ģenerēti, izmantojot pamata sadalīšanu, vienmēr ir sākotnējā masīva skats.

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

Izvade:

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] 

Elipses var izmantot arī kopā ar pamata sagriešanu. Elipse (…) ir : objektu skaits, kas nepieciešams, lai izveidotu atlases kopu, kuras garums ir vienāds ar masīva izmēriem.

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 ] 

Izvade:

[[ 2 5]  [ 8 11]] 

NumPy masīva apraide

Termiņš apraide attiecas uz to, kā numpy apstrādā masīvus ar dažādiem izmēriem aritmētisko darbību laikā, kas rada noteiktus ierobežojumus, mazākais masīvs tiek pārraidīts pa lielāko masīvu, lai tiem būtu saderīgas formas.

Pieņemsim, ka mums ir liela datu kopa, katrs atskaites punkts ir parametru saraksts. Programmā Numpy mums ir 2-D masīvs, kur katra rinda ir atskaites punkts, un rindu skaits ir datu kopas lielums. Pieņemsim, ka mēs vēlamies visiem šiem datiem piemērot sava veida mērogošanu, katrs parametrs iegūst savu mērogošanas koeficientu vai sakiet, ka Katrs parametrs tiek reizināts ar kādu faktoru.

Lai iegūtu skaidru izpratni, saskaitīsim kalorijas pārtikas produktos, izmantojot makroelementu sadalījumu. Aptuveni sakot, pārtikas kaloriju daļas sastāv no taukiem (9 kalorijas uz gramu), olbaltumvielām (4 CPG) un ogļhidrātiem (4 CPG). Tātad, ja mēs uzskaitām dažus pārtikas produktus (mūsu dati) un katram pārtikas produktam uzskaitām tā makroelementu sadalījumu (parametrus), mēs varam reizināt katru uzturvielu ar tās kaloriju vērtību (piemērot mērogošanu), lai aprēķinātu katras pārtikas preces kaloriju sadalījumu.

NumPy masīva apraide

Izmantojot šo transformāciju, mēs tagad varam aprēķināt visu veidu noderīgu informāciju. Piemēram, kāds ir kopējais kaloriju skaits dažos pārtikas produktos vai, ņemot vērā manu vakariņu sadalījumu, zināt, cik daudz kaloriju es saņēmu no olbaltumvielām un tā tālāk.

Apskatīsim naivu veidu, kā izveidot šo aprēķinu, izmantojot 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 

Izvade:

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

Apraides noteikumi: Divu masīvu apraide kopā ievēro šādus noteikumus:

  • Ja masīviem nav vienāda ranga, pievienojiet zemākā ranga masīva formu ar 1, līdz abām formām ir vienāds garums.
  • Abi masīvi ir saderīgi pēc dimensijas, ja to izmēri ir vienādi vai ja vienam no masīviem šajā dimensijā ir 1. izmērs.
  • Masīvus var pārraidīt kopā, ja tie ir saderīgi ar visiem izmēriem.
  • Pēc apraides katrs masīvs darbojas tā, it kā tam būtu forma, kas vienāda ar divu ievades masīvu formu maksimumu.
  • Jebkurā dimensijā, kur viena masīva izmērs ir 1, bet otra masīva izmērs ir lielāks par 1, pirmais masīvs darbojas tā, it kā tas tiktu kopēts pa šo dimensiju.
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) 

Izvade:

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

Piezīme: Lai iegūtu papildinformāciju, skatiet mūsu Python NumPy apmācība .

Datu analīze, izmantojot Pandas

Python Pandas tiek izmantots relāciju vai marķētiem datiem un nodrošina dažādas datu struktūras, lai manipulētu ar šādiem datiem un laikrindām. Šī bibliotēka ir izveidota uz NumPy bibliotēkas. Šis modulis parasti tiek importēts kā:

import pandas as pd 

Šeit pd tiek saukts par Pandas aizstājvārdu. Tomēr nav nepieciešams importēt bibliotēku, izmantojot aizstājvārdu, tas tikai palīdz rakstīt mazāku summas kodu katru reizi, kad tiek izsaukta metode vai rekvizīts. Pandas parasti nodrošina divas datu struktūras, lai manipulētu ar datiem. Tās ir:

  • sērija
  • Datu rāmis

Sērija:

Pandas sērija ir viendimensionāls marķēts masīvs, kas spēj glabāt jebkura veida datus (veselus skaitļus, virkni, pludiņu, python objektus utt.). Asu etiķetes kopā sauc par indeksiem. Pandas sērija ir nekas cits kā kolonna Excel lapā. Etiķetēm nav jābūt unikālām, bet tām ir jābūt jaukta tipa. Objekts atbalsta gan veselu skaitļu, gan etiķešu indeksēšanu un nodrošina virkni metožu darbību veikšanai, kas saistītas ar indeksu.

Pandas sērija

To var izveidot, izmantojot funkciju Series(), ielādējot datu kopu no esošās krātuves, piemēram, SQL, datu bāzes, CSV faili, Excel faili utt., vai no datu struktūrām, piemēram, sarakstiem, vārdnīcām utt.

Python Pandas izveides sērija

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) 

Izvade:

pnadas sērija

pnadas sērija

Datu rāmis:

Pandas DataFrame ir divdimensiju izmēra mainīga, potenciāli neviendabīga tabulu datu struktūra ar iezīmētām asīm (rindām un kolonnām). Datu rāmis ir divdimensiju datu struktūra, t.i., dati tiek izlīdzināti tabulas veidā rindās un kolonnās. Pandas DataFrame sastāv no trim galvenajām sastāvdaļām — datiem, rindām un kolonnām.

Pandas datu rāmis

To var izveidot, izmantojot Dataframe() metodi, un tāpat kā sēriju, tā var būt arī no dažādiem failu tipiem un datu struktūrām.

Python Pandas datu rāmja izveide

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 

Izvade:

Datu rāmja izveide no saraksta

Dataframe izveide no python saraksta

Datu rāmja izveide no CSV

Mēs varam izveidot datu rāmi no CSV failus, izmantojot lasīt_csv() funkciju.

Python Pandas lasa CSV

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

Izvade:

datu rāmja galva

datu rāmja galva

DataFrame filtrēšana

Pandas dataframe.filter() funkcija tiek izmantota datu rāmja rindu vai kolonnu apakškopai atbilstoši norādītā indeksa etiķetēm. Ņemiet vērā, ka šī rutīna nefiltrē datu rāmi pēc tā satura. Filtrs tiek lietots indeksa etiķetēm.

Python Pandas filtra datu rāmis

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

Izvade:

Datu kopai tiek lietots filtrs

Datu kopai tiek lietots filtrs

DataFrame kārtošana

Lai kārtotu datu rāmi pandās, funkcija sort_values() tiek izmantots. Pandas sort_values() var kārtot datu rāmi augošā vai dilstošā secībā.

Python Pandas datu rāmja kārtošana augošā secībā

Izvade:

Sakārtota datu kopa, pamatojoties uz kolonnas vērtību

Sakārtota datu kopa, pamatojoties uz kolonnas vērtību

Pandas GroupBy

Groupby ir diezgan vienkāršs jēdziens. Mēs varam izveidot kategoriju grupu un lietot kategorijām funkciju. Reālos datu zinātnes projektos jums būs jārisina liels datu apjoms un jāmēģina lietas atkal un atkal, tāpēc efektivitātes labad mēs izmantojam Groupby koncepciju. Groupby galvenokārt attiecas uz procesu, kas ietver vienu vai vairākas no šīm darbībām:

  • Sadalīšana: Tas ir process, kurā mēs sadalām datus grupās, piemērojot dažus nosacījumus datu kopām.
  • Pieteikšanās: Tas ir process, kurā mēs katrai grupai piemērojam funkciju neatkarīgi.
  • Apvienojot: Tas ir process, kurā mēs apvienojam dažādas datu kopas pēc groupby un rezultātu lietošanas datu struktūrā.

Šis attēls palīdzēs izprast procesu, kas saistīts ar Groupby koncepciju.

1. Grupējiet unikālās vērtības no kolonnas Komanda

Pandas Groupby metode

2. Tagad katrai grupai ir savs spainis

3. Ievietojiet pārējos datus spainīšos

Pandas GroupBy

4. Katra spaiņa svara kolonnā lietojiet funkciju.

Funkcijas lietošana katras kolonnas svara kolonnā

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

Izvade:

pandas groupby

pandas groupby

Funkcijas lietošana grupai:

Pēc datu sadalīšanas grupā katrai grupai piemērojam funkciju, lai veiktu dažas darbības, tās ir:

  • Apkopošana: Tas ir process, kurā mēs aprēķinām kopsavilkuma statistiku (vai statistiku) par katru grupu. Piemēram, Aprēķiniet grupu summas vai vidējos rādītājus
  • Transformācija: Tas ir process, kurā mēs veicam dažus grupai raksturīgus aprēķinus un atgriežam līdzīgu indeksu. Piemēram, NA aizpildīšana grupās ar vērtību, kas iegūta no katras grupas
  • Filtrēšana: Tas ir process, kurā mēs atmetam dažas grupas saskaņā ar grupu aprēķinu, kas novērtē patieso vai nepatieso. Piemēram, datu filtrēšana, pamatojoties uz grupas summu vai vidējo

Pandas agregācija

Apkopošana ir process, kurā mēs aprēķinām kopsavilkuma statistiku par katru grupu. Apkopotā funkcija katrai grupai atgriež vienu apkopotu vērtību. Pēc datu sadalīšanas grupās, izmantojot funkciju groupby, grupētajiem datiem var veikt vairākas apkopošanas darbības.

Python Pandas agregācija

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) 

Izvade:

Summēšanas funkcijas izmantošana datu kopā

Summēšanas funkcijas izmantošana datu kopā

DataFrame savienošana

Lai savienotu datu rāmi, mēs izmantojam concat () funkcija, kas palīdz savienot datu rāmi. Šī funkcija veic visus smagus uzdevumus, kas saistīti ar savienošanas darbību veikšanu kopā ar Pandas objektu asi, vienlaikus veicot izvēles kopas loģiku (savienojumu vai krustojumu) indeksiem (ja tādi ir) uz citām asīm.

Python Pandas savieno datu rāmi

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 

Izvade:

DataFrame sapludināšana

Ja mums ir jāapvieno ļoti lieli datu rāmji, savienojumi kalpo kā spēcīgs veids, kā ātri veikt šīs darbības. Savienojumus var veikt tikai divos DataFrame vienlaikus, kas apzīmēti kā kreisās un labās puses tabulas. Galvenais ir kopējā kolonna, kurā tiks savienoti divi DataFrame. Lai izvairītos no nejaušas rindu vērtību dublēšanās, ieteicams visā kolonnā izmantot atslēgas, kurām ir unikālas vērtības. Pandas nodrošina vienu funkciju, sapludināt () , kā ievades punkts visām standarta datu bāzes savienošanas darbībām starp DataFrame objektiem.

Ir četri pamata veidi, kā apstrādāt savienojumu (iekšējā, kreisā, labā un ārējā), atkarībā no tā, kurās rindās ir jāsaglabā dati.

Apvienojiet Daframe Python Pandas

Python Pandas sapludināt datu rāmi

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 

Izvade:

Savieno divas datu kopas

Savieno divas datu kopas

Pievienošanās DataFrame

Lai pievienotos datu rāmim, mēs izmantojam .join() šī funkcija tiek izmantota, lai apvienotu divu potenciāli atšķirīgi indeksētu DataFrame kolonnu vienā rezultāta DataFrame.

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

Izvade:

Divu datu kopu savienošana

Lai iegūtu papildinformāciju, skatiet mūsu Pandu sapludināšana, pievienošana un savienošana pamācība

Pilnu ceļvedi par pandām skatiet mūsu Pandas apmācība .

Vizualizācija ar Matplotlib

Matplotlib ir viegli lietojams un pārsteidzoša vizualizējoša bibliotēka Python. Tas ir veidots uz NumPy masīviem un paredzēts darbam ar plašāku SciPy steksu, un tas sastāv no vairākiem grafikiem, piemēram, līnijas, joslas, izkliedes, histogrammas utt.

Pyplot

Pyplot ir Matplotlib modulis, kas nodrošina MATLAB līdzīgu saskarni. Pyplot nodrošina funkcijas, kas mijiedarbojas ar figūru, t.i., izveido figūru, izrotā sižetu ar etiķetēm un izveido attēlā zīmēšanas laukumu.

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

Izvade:

Joslu diagramma

A bāra gabals vai joslu diagramma ir diagramma, kas attēlo datu kategoriju ar taisnstūrveida joslām, kuru garums un augstums ir proporcionāls to attēlotajām vērtībām. Stieņu diagrammas var tikt attēlotas horizontāli vai vertikāli. Joslu diagramma apraksta diskrēto kategoriju salīdzinājumus. To var izveidot, izmantojot bar() metodi.

Python Matplotlib joslu diagramma

Šeit mēs izmantosim tikai varavīksnenes datu kopu

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

Izvade:

Joslu diagramma, izmantojot Matplotlib bibliotēku

Joslu diagramma, izmantojot Matplotlib bibliotēku

Histogrammas

A histogramma pamatā izmanto, lai attēlotu datus dažu grupu veidā. Tas ir joslu diagrammas veids, kurā X ass apzīmē bin diapazonus, bet Y ass sniedz informāciju par frekvenci. Lai izveidotu histogrammu, pirmais solis ir izveidot diapazonu kopu, pēc tam sadalīt visu vērtību diapazonu intervālu sērijā un saskaitīt vērtības, kas ietilpst katrā no intervāliem. Tvertnes ir skaidri identificētas kā secīgi mainīgo lielumu intervāli, kas nepārklājas. The hist () funkcija tiek izmantota, lai aprēķinātu un izveidotu x histogrammu.

Python Matplotlib histogramma

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

Izvade:

Histplot, izmantojot Matplotlib bibliotēku

Izkliedes diagramma

Izkliedes diagrammas tiek izmantotas, lai novērotu attiecības starp mainīgajiem, un izmanto punktus, lai attēlotu attiecības starp tiem. The izkliedēt () Metode matplotlib bibliotēkā tiek izmantota, lai uzzīmētu izkliedes diagrammu.

Python Matplotlib izkliedes diagramma

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

Izvade:

Izkliedes diagramma, izmantojot Matplotlib bibliotēku

Izkliedes diagramma, izmantojot Matplotlib bibliotēku

Kastes gabals

A boxplot ,Korelācija pazīstama arī kā kastes un ūsu gabals. Tas ir ļoti labs vizuāls attēlojums, kad runa ir par datu sadalījuma mērīšanu. Skaidri attēlo vidējās vērtības, novirzes un kvartiles. Datu izplatīšanas izpratne ir vēl viens svarīgs faktors, kas nodrošina labāku modeļa izveidi. Ja datiem ir novirzes, lodziņa diagramma ir ieteicamais veids, kā tos identificēt un veikt nepieciešamās darbības. Lodziņu un ūsu diagramma parāda, kā dati tiek sadalīti. Diagrammā parasti ir iekļautas piecas informācijas daļas

  • Minimums ir parādīts diagrammas kreisajā malā, kreisās “ūsas” beigās
  • Pirmā kvartile, Q1, ir lodziņa galējā kreisā puse (kreisā ūsa)
  • Mediāna ir parādīta kā līnija lodziņa centrā
  • Trešā kvartile, Q3, parādīta lodziņa labajā malā (labā ūsa)
  • Maksimums ir kastes labajā malā

Kastes sižeta attēlojums

Starpkvartiļu diapazons

Starpkvartiļu diapazons

Ilustrējošs kastes sižets

Ilustrējošs kastes sižets

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

Izvade:

Boxplot, izmantojot Matplotlib bibliotēku

Boxplot, izmantojot Matplotlib bibliotēku

Korelācijas siltuma kartes

2-D siltuma karte ir datu vizualizācijas rīks, kas palīdz attēlot parādības lielumu krāsu veidā. Korelācijas siltuma karte ir siltuma karte, kas parāda 2D korelācijas matricu starp divām atsevišķām dimensijām, izmantojot krāsainas šūnas, lai attēlotu datus no parasti monohromatiskas skalas. Pirmās kategorijas vērtības tiek rādītas kā tabulas rindas, bet otrās kategorijas vērtības ir kolonna. Šūnas krāsa ir proporcionāla mērījumu skaitam, kas atbilst izmēru vērtībai. Tas padara korelācijas siltuma kartes ideāli piemērotas datu analīzei, jo tas padara modeļus viegli lasāmus un izceļ atšķirības un atšķirības tajos pašos datos. Korelācijas siltuma karti, tāpat kā parasto siltuma karti, palīdz krāsu josla, kas padara datus viegli lasāmus un saprotamus.

Piezīme: Šeit sniegtie dati ir jānodod ar corr() metodi, lai izveidotu korelācijas siltuma karti. Arī pati corr () novērš kolonnas, kas nebūs noderīgas, ģenerējot korelācijas siltuma karti, un atlasa tās, kuras var izmantot.

Python Matplotlib korelācijas siltuma karte

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

Izvade:

Siltuma karte, izmantojot Matplotlib bibliotēku

Siltuma karte, izmantojot Matplotlib bibliotēku

Lai iegūtu papildinformāciju par datu vizualizāciju, skatiet mūsu tālāk norādītās apmācības -

Top Raksti

Kategorija

Interesanti Raksti