Tietojen analysointi Pythonilla

Tässä artikkelissa keskustelemme tietojen analysoinnista Pythonilla. Keskustelemme kaikenlaisista data-analyyseistä, eli numeerisen datan analysoinnista NumPyllä, taulukkotiedon analysoinnista Pandalla, datan visualisoinnista Matplotlibistä ja Exploratory data-analyysistä.

Tietojen analysointi Pythonilla

Tietojen analysointi on tekniikka tietojen keräämiseen, muuntamiseen ja järjestämiseen tulevaisuuden ennusteiden ja tietoon perustuvien päätösten tekemiseksi. Se auttaa myös löytämään mahdollisia ratkaisuja yritysongelmiin. Data-analyysissä on kuusi vaihetta. He ovat:

  • Kysy tai määritä tietovaatimukset
  • Valmistele tai kerää tietoja
  • Puhdista ja käsittele
  • Analysoida
  • Jaa
  • Toimi tai tee ilmoitus

Tietojen analysointi Pythonilla



Huomautus: Jos haluat lisätietoja näistä vaiheista, katso meidän NumPy on taulukonkäsittelypaketti Pythonissa ja tarjoaa tehokkaan moniulotteisen taulukkoobjektin ja työkalut näiden taulukoiden kanssa työskentelemiseen. Se on peruspaketti tieteelliselle laskennalle Pythonilla.

Taulukot NumPyssä

NumPy Array on samantyyppisten elementtien (yleensä numeroiden) taulukko, joka on indeksoitu positiivisten kokonaislukujen joukolla. Numpyssa taulukon dimensioiden määrää kutsutaan taulukon arvoksi. Kokonaislukujen monikko, joka antaa taulukon koon kussakin ulottuvuudessa, tunnetaan taulukon muotona.

NumPy-taulukon luominen

NumPy-taulukoita voidaan luoda useilla tavoilla, eri arvoilla. Se voidaan myös luoda käyttämällä erilaisia ​​tietotyyppejä, kuten listoja, monikoita jne. Tuloksena olevan taulukon tyyppi päätellään sekvenssien elementtien tyypistä. NumPy tarjoaa useita toimintoja taulukoiden luomiseen alkuperäisen paikkamerkkisisällön kanssa. Nämä minimoivat ryhmien kasvattamisen tarpeen, mikä on kallis toimenpide.

Luo Array käyttämällä numpy.empty(muoto, 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) 

Lähtö:

Tyhjennä Matrix pandoilla

Tyhjennä Matrix pandoilla

Luo Array käyttämällä numpy.zeros(muoto, dtype = ei mitään, järjestys = '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) 

Lähtö:

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

Toiminnot Numpy Arrays

Aritmeettiset operaatiot

  • Lisäys:
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) 

Lähtö:

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

Lähtö:

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

Lähtö:

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

Lähtö:

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

Lisätietoja saat osoitteestamme NumPy – Aritmeettisten operaatioiden opetusohjelma

NumPy-taulukon indeksointi

Indeksointi voidaan tehdä NumPyssä käyttämällä taulukkoa indeksinä. Viipaleen tapauksessa palautetaan näkymä tai matala kopio taulukosta, mutta indeksitaulukossa palautetaan kopio alkuperäisestä taulukosta. Numpy-taulukot voidaan indeksoida muiden taulukoiden tai minkä tahansa muun sekvenssin kanssa monikkoa lukuun ottamatta. Viimeinen elementti indeksoidaan -1 sekunti viimeisenä -2 ja niin edelleen.

Python NumPy -taulukon indeksointi

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) 

Lähtö:

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

NumPy-taulukon viipalointi

Tarkastellaan syntaksia x[obj], jossa x on taulukko ja obj on indeksi. Slice-objekti on indeksi tapauksessa perus viipalointi . Perusleikkaus tapahtuu, kun obj on:

  • slice-objekti, joka on muotoa aloitus: lopetus: askel
  • kokonaisluku
  • tai joukko slice-objekteja ja kokonaislukuja

Kaikki perusleikkauksella luodut taulukot ovat aina alkuperäisen taulukon näkymiä.

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

Lähtö:

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] 

Ellipsiä voidaan käyttää myös perusviipaloinnin kanssa. Ellipsi (…) on : objektien lukumäärä, joka tarvitaan taulukon dimensioiden kanssa samanpituisen valintasarjan tekemiseen.

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 ] 

Lähtö:

[[ 2 5]  [ 8 11]] 

NumPy Array Broadcasting

Termi lähetys viittaa siihen, kuinka numpy käsittelee eri ulottuvuuksia omaavia taulukoita aritmeettisten operaatioiden aikana, jotka johtavat tiettyihin rajoituksiin, pienempi taulukko lähetetään suuremman taulukon poikki, jotta niillä on yhteensopivat muodot.

Oletetaan, että meillä on suuri tietojoukko, jokainen datam on luettelo parametreista. Numpyssa meillä on 2-D-taulukko, jossa jokainen rivi on datam ja rivien määrä on tietojoukon koko. Oletetaan, että haluamme soveltaa jonkinlaista skaalausta kaikkiin näihin tietoihin, jokainen parametri saa oman skaalaustekijänsä tai sanotaan, että jokainen parametri kerrotaan jollakin tekijällä.

Selkeän käsityksen vuoksi lasketaan elintarvikkeiden kalorit makroravinteiden erittelyn avulla. Karkeasti sanottuna ruoan kaloripitoiset osat koostuvat rasvoista (9 kaloria grammaa kohti), proteiinista (4 CPG) ja hiilihydraateista (4 CPG). Joten jos luettelemme joitain ruokia (tietomme) ja kunkin ruoka-aineen makroravintoainejakauman (parametrit), voimme kertoa kunkin ravintoaineen sen kaloriarvolla (skaalaus) laskeaksemme jokaisen ruoka-aineen kalorijakauman.

NumPy Array Broadcasting

Tämän muunnoksen avulla voimme nyt laskea kaikenlaista hyödyllistä tietoa. Esimerkiksi, mikä on joidenkin elintarvikkeiden sisältämien kalorien kokonaismäärä tai tietää illalliseni erittelyn perusteella, kuinka monta kaloria sain proteiinista ja niin edelleen.

Katsotaanpa naiivia tapaa tuottaa tämä laskenta Numpylla:

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 

Lähtö:

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

Lähetyssäännöt: Kahden taulukon lähettäminen yhdessä seuraa näitä sääntöjä:

  • Jos taulukoilla ei ole sama arvo, lisää alemman tason taulukon muotoon 1, kunnes molemmilla muodoilla on sama pituus.
  • Nämä kaksi taulukkoa ovat yhteensopivia dimensiossa, jos niiden dimensiossa on sama koko tai jos toisen taulukon koko on 1 kyseisessä ulottuvuudessa.
  • Matriisit voidaan lähettää yhdessä, jos ne ovat yhteensopivia kaikkien ulottuvuuksien kanssa.
  • Yleislähetyksen jälkeen kukin matriisi käyttäytyy ikään kuin sillä olisi muoto, joka on yhtä suuri kuin kahden syötetaulukon muotojen elementtikohtainen maksimi.
  • Missä tahansa ulottuvuudessa, jossa yhden taulukon koko oli 1 ja toisen taulukon koko suurempi kuin 1, ensimmäinen matriisi käyttäytyy ikään kuin se olisi kopioitu tätä ulottuvuutta pitkin.
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) 

Lähtö:

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

Huomautus: Lisätietoja saat osoitteestamme Python NumPy opetusohjelma .

Tietojen analysointi Pandan avulla

Python Pandas Käytetään relaatio- tai tunnistetiedoille, ja se tarjoaa erilaisia ​​tietorakenteita tällaisten tietojen ja aikasarjojen käsittelyyn. Tämä kirjasto on rakennettu NumPy-kirjaston päälle. Tämä moduuli tuodaan yleensä seuraavasti:

import pandas as pd 

Tässä pd:tä kutsutaan Pandan aliakseksi. Kirjastoa ei kuitenkaan tarvitse tuoda aliaksen avulla, se vain auttaa kirjoittamaan vähemmän koodia joka kerta, kun menetelmää tai ominaisuutta kutsutaan. Pandat tarjoavat yleensä kaksi tietorakennetta tietojen käsittelyyn. Ne ovat:

  • Sarja
  • Datakehys

Sarja:

Panda-sarja on yksiulotteinen merkitty taulukko, joka pystyy säilyttämään kaikentyyppisiä tietoja (kokonaisluku, merkkijono, float, python-objektit jne.). Akselitunnisteita kutsutaan yhteisesti indekseiksi. Pandas-sarja on vain sarake Excel-taulukossa. Tunnisteiden ei tarvitse olla yksilöllisiä, vaan niiden on oltava tiivistettävää tyyppiä. Objekti tukee sekä kokonaisluku- että tarrapohjaista indeksointia ja tarjoaa joukon menetelmiä indeksiin liittyvien toimintojen suorittamiseen.

Panda-sarja

Se voidaan luoda Series()-funktiolla lataamalla tietojoukko olemassa olevasta tallennustilasta, kuten SQL, tietokanta, CSV-tiedostot, Excel-tiedostot jne., tai tietorakenteista, kuten luetteloista, sanakirjoista jne.

Python Pandan luontisarja

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) 

Lähtö:

pnadas-sarja

pnadas-sarja

Datakehys:

Pandas DataFrame on kaksiulotteinen kokomuuttuva, mahdollisesti heterogeeninen taulukkomuotoinen tietorakenne, jossa on nimetyt akselit (rivit ja sarakkeet). Datakehys on kaksiulotteinen tietorakenne, eli tiedot kohdistetaan taulukkomuotoisesti riveihin ja sarakkeisiin. Pandas DataFrame koostuu kolmesta pääkomponentista, tiedoista, riveistä ja sarakkeista.

Pandas Dataframe

Se voidaan luoda Dataframe()-menetelmällä, ja aivan kuten sarja, se voi olla myös eri tiedostotyypeistä ja tietorakenteista.

Python Pandat luovat tietokehystä

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 

Lähtö:

Datakehyksen luominen luettelosta

Datakehyksen luominen python-luettelosta

Datakehyksen luominen CSV-tiedostosta

Me voimme Luo tietokehys CSV:stä tiedostot käyttämällä read_csv() toiminto.

Python Pandas lukee CSV:tä

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

Lähtö:

tietokehyksen pää

tietokehyksen pää

DataFramen suodatus

Pandat dataframe.filter() -toimintoa käytetään tietokehyksen rivien tai sarakkeiden alijoukkoon määritetyn indeksin otsikoiden mukaan. Huomaa, että tämä rutiini ei suodata datakehystä sen sisällöstä. Suodatinta käytetään indeksin otsikoissa.

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

Lähtö:

Suodattimen käyttö tietojoukossa

Suodattimen käyttö tietojoukossa

DataFramen lajittelu

Tietokehyksen lajittelemiseksi pandassa funktio sort_values() käytetään. Pandas sort_values() voi lajitella tietokehyksen nousevaan tai laskevaan järjestykseen.

Python Panda -tietokehyksen lajittelu nousevassa järjestyksessä

Lähtö:

Lajiteltu tietojoukko sarakkeen arvon perusteella

Lajiteltu tietojoukko sarakkeen arvon perusteella

Pandas GroupBy

Groupby on melko yksinkertainen käsite. Voimme luoda luokkien ryhmittelyn ja soveltaa luokkiin funktiota. Todellisissa datatieteen projekteissa joudut käsittelemään suuria tietomääriä ja kokeilemaan asioita yhä uudelleen ja uudelleen, joten tehokkuuden lisäämiseksi käytämme Groupby-konseptia. Groupby viittaa pääasiassa prosessiin, joka sisältää yhden tai useamman seuraavista vaiheista:

  • Jakaminen: Se on prosessi, jossa jaamme tiedot ryhmiin soveltamalla joitain ehtoja tietojoukkoihin.
  • Hakeminen: Se on prosessi, jossa käytämme funktiota jokaiseen ryhmään itsenäisesti.
  • Yhdistetään: Se on prosessi, jossa yhdistämme erilaisia ​​tietojoukkoja groupby:n ja tulosten soveltamisen jälkeen tietorakenteeksi.

Seuraava kuva auttaa ymmärtämään Groupby-konseptin prosessia.

1. Ryhmittele yksilölliset arvot Ryhmä-sarakkeesta

Panda Groupby -menetelmä

2. Nyt jokaiselle ryhmälle on oma ämpäri

3. Heitä muut tiedot ämpäriin

Pandas GroupBy

4. Käytä funktiota kunkin kauhan painosarakkeeseen.

Toiminnon käyttäminen kunkin sarakkeen painosarakkeessa

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

Lähtö:

panda groupby

panda groupby

Toiminnon käyttäminen ryhmässä:

Kun tiedot on jaettu ryhmään, käytämme jokaiseen ryhmään funktiota, jotta voimme suorittaa joitakin toimintoja, jotka ovat:

  • Aggregointi: Se on prosessi, jossa laskemme yhteenvetotilaston (tai tilastot) jokaisesta ryhmästä. Esimerkiksi Laske ryhmien summat tai keskiarvot
  • Muunnos: Se on prosessi, jossa suoritamme joitain ryhmäkohtaisia ​​laskelmia ja palautamme vastaavan indeksin. Esimerkiksi NA:iden täyttäminen ryhmien sisällä kustakin ryhmästä johdetuilla arvoilla
  • Suodatus: Se on prosessi, jossa hylkäämme joitain ryhmiä ryhmäkohtaisen laskennan mukaan, joka arvioi tosi tai epätosi. Esimerkiksi tietojen suodattaminen ryhmän summan tai keskiarvon perusteella

Pandan yhdistäminen

Aggregointi on prosessi, jossa laskemme yhteenvetotilaston jokaisesta ryhmästä. Yhdistetty funktio palauttaa yhden yhdistetyn arvon kullekin ryhmälle. Kun tiedot on jaettu ryhmiin groupby-funktiolla, ryhmitellylle tiedolle voidaan suorittaa useita aggregointitoimintoja.

Python Pandas -yhdistelmä

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) 

Lähtö:

Summa-aggregate-funktion käyttö tietojoukossa

Summa-aggregate-funktion käyttö tietojoukossa

DataFramen ketjuttaminen

Käytämme datakehyksen yhdistämiseksi concat() toiminto, joka auttaa tietokehyksen yhdistämisessä. Tämä toiminto suorittaa kaiken raskaan noston ketjutusoperaatioiden suorittamisesta Panda-objektien akselin kanssa samalla kun se suorittaa valinnaisen sarjalogiikan (liitos tai leikkaus) indekseille (jos sellaisia ​​on) muilla akseleilla.

Python Pandas Liitä tietokehys

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 

Lähtö:

DataFramen yhdistäminen

Kun meidän on yhdistettävä erittäin suuria DataFrame-kehyksiä, liitokset toimivat tehokkaana tapana suorittaa nämä toiminnot nopeasti. Liitokset voidaan tehdä vain kahdelle DataFrame-kehykselle kerrallaan, jotka on merkitty vasen ja oikea taulukko. Avain on yhteinen sarake, johon kaksi DataFrame-kehystä liitetään. On hyvä käytäntö käyttää avaimia, joilla on yksilölliset arvot koko sarakkeessa, jotta vältetään riviarvojen tahaton päällekkäisyys. Pandat tarjoavat yhden toiminnon, yhdistää() , kaikkien DataFrame-objektien välisten standardien tietokantaliitostoimintojen aloituspisteenä.

Liitoksen käsittelyssä on neljä perustapaa (sisäinen, vasen, oikea ja ulompi) riippuen siitä, mitkä rivit säilyttävät tietonsa.

Yhdistä Daframe Python Pandas

Python Pandas Yhdistä tietokehys

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 

Lähtö:

Yhdistävä kaksi tietojoukkoa

Yhdistävä kaksi tietojoukkoa

Liittyminen DataFrameen

Tietokehykseen liittymiseksi käytämme .liittyä seuraan() toiminto tätä toimintoa käytetään yhdistämään kahden mahdollisesti eri tavalla indeksoidun datakehyksen sarakkeet yhdeksi tulokseksi DataFrameksi.

Python Pandat Liity Dataframeen

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 

Lähtö:

Kahden tietojoukon yhdistäminen

Lisätietoja saat osoitteestamme Pandojen yhdistäminen, yhdistäminen ja ketjuttaminen opetusohjelma

Täydellisen oppaan Pandasta löydät meidän Pandas opetusohjelma .

Visualisointi Matplotlibillä

Matplotlib on helppokäyttöinen ja hämmästyttävä visualisoiva kirjasto Pythonissa. Se on rakennettu NumPy-taulukoille ja suunniteltu toimimaan laajemman SciPy-pinon kanssa, ja se koostuu useista kaavioista, kuten viiva, palkki, sironta, histogrammi jne.

Pyplot

Pyplot on Matplotlib-moduuli, joka tarjoaa MATLAB-tyyppisen käyttöliittymän. Pyplot tarjoaa toimintoja, jotka ovat vuorovaikutuksessa hahmon kanssa eli luovat hahmon, koristelevat juonen etiketeillä ja luovat piirtoalueen kuvioon.

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

Lähtö:

Pylväsdiagrammi

A baarin juoni tai pylväskaavio on kaavio, joka edustaa tietoluokkaa suorakaiteen muotoisilla pylväillä, joiden pituus ja korkeus on verrannollinen niiden edustamiin arvoihin. Palkkikuvaajat voidaan piirtää vaaka- tai pystysuunnassa. Pylväskaavio kuvaa erillisten luokkien vertailut. Se voidaan luoda bar()-menetelmällä.

Python Matplotlib -pylväskaavio

Tässä käytämme vain iiristietojoukkoa

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

Lähtö:

Pylväskaavio matplotlib-kirjastolla

Pylväskaavio matplotlib-kirjastolla

Histogrammit

A histogrammi käytetään periaatteessa edustamaan tietoja joidenkin ryhmien muodossa. Se on eräänlainen pylväsdiagrammi, jossa X-akseli edustaa bin-alueita, kun taas Y-akseli antaa tietoja taajuudesta. Histogrammin luomiseksi ensimmäinen askel on luoda alueista joukko, jakaa sitten koko arvojen alue sarjaan ja laskea arvot, jotka kuuluvat kuhunkin väliin. Säiliöt tunnistetaan selvästi peräkkäisiksi, ei-päällekkäisiksi muuttujien aikaväleiksi. The hist() funktiota käytetään x:n histogrammin laskemiseen ja luomiseen.

Python Matplotlib Histogrammi

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

Lähtö:

Histplot matplotlib-kirjaston avulla

Scatter Plot

Sirontakaavioita käytetään muuttujien välisten suhteiden tarkkailuun, ja ne kuvaavat niiden välistä suhdetta pisteiden avulla. The hajaantua() Matplotlib-kirjaston menetelmää käytetään sirontakuvaajan piirtämiseen.

Python Matplotlib -sirontakuvaaja

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

Lähtö:

Sirontadiagrammi käyttämällä matplotlib-kirjastoa

Sirontadiagrammi käyttämällä matplotlib-kirjastoa

Laatikko tontti

A boxplot ,Korrelaatio, joka tunnetaan myös nimellä laatikko ja viiksi juoni. Se on erittäin hyvä visuaalinen esitys tietojen jakautumisen mittaamisessa. Piirtää selkeästi mediaaniarvot, poikkeamat ja kvartiilit. Tietojen jakautumisen ymmärtäminen on toinen tärkeä tekijä, joka johtaa parempaan mallin rakentamiseen. Jos tiedoissa on poikkeavuuksia, laatikkokaavio on suositeltava tapa tunnistaa ne ja ryhtyä tarvittaviin toimenpiteisiin. Laatikko- ja viiksikaavio näyttää, kuinka tiedot jakautuvat. Kaavioon sisältyy yleensä viisi tietoa

  • Minimi näkyy kaavion vasemmassa reunassa, vasemman 'viskerin' lopussa
  • Ensimmäinen kvartiili, Q1, on laatikon äärivasemmalla (vasemmalla viiksellä)
  • Mediaani näkyy viivana laatikon keskellä
  • Kolmas kvartiili, Q3, näkyy laatikon oikeassa reunassa (oikea viiksi)
  • Maksimi on laatikon oikeassa reunassa

Laatikkokuvan esitys

Kvartiilien välinen alue

Kvartiilien välinen alue

Havainnollistava laatikkojuoni

Havainnollistava laatikkojuoni

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

Lähtö:

Boxplot käyttämällä matplotlib-kirjastoa

Boxplot käyttämällä matplotlib-kirjastoa

Korrelaatiolämpökartat

2-D Heatmap on tietojen visualisointityökalu, joka auttaa esittämään ilmiön suuruuden väreinä. Korrelaatiolämpökartta on lämpökartta, joka näyttää 2D-korrelaatiomatriisin kahden erillisen ulottuvuuden välillä käyttäen värillisiä soluja edustamaan tietoja tavallisesti monokromaattisesta mittakaavasta. Ensimmäisen ulottuvuuden arvot näkyvät taulukon riveinä, kun taas toinen ulottuvuus on sarake. Solun väri on verrannollinen mitta-arvoa vastaavien mittausten määrään. Tämä tekee korrelaatiolämpökartoista ihanteellisia data-analyysiin, koska se tekee kuvioista helposti luettavia ja korostaa erot ja vaihtelut samoissa tiedoissa. Korrelaatiolämpökartan, kuten tavallisen lämpökartan, apuna on väripalkki, joka tekee tiedoista helposti luettavia ja ymmärrettäviä.

Huomautus: Tässä olevat tiedot on välitettävä corr()-menetelmällä korrelaatiolämpökartan luomiseksi. Lisäksi corr() itse eliminoi sarakkeet, joista ei ole hyötyä luotaessa korrelaatiolämpökarttaa, ja valitsee ne, joita voidaan käyttää.

Python Matplotlib -korrelaatiolämpökartta

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

Lähtö:

Lämpökartta matplotlib-kirjastolla

Lämpökartta matplotlib-kirjastolla

Lisätietoja tietojen visualisoinnista saat alla olevista opetusohjelmistamme -

Top Artikkelit

Luokka

Mielenkiintoisia Artikkeleita