Python Pandas -opetusohjelma: Opi pandat tietojen analysointia varten



Tässä Python Pandas -opetusohjelmassa opit Pandan eri toiminnot. Se sisältää myös käyttötapauksen, jossa voit analysoida tietoja Pandojen avulla.

Tässä blogissa keskustelemme tietojen analysoinnista Pandojen avulla Pythonissa.Tänään, on alan ammattitaito, joka ylitti PHP: n vuonna 2017 ja C #: n vuonna 2018 yleisen suosion ja käytön suhteen.Ennen kuin puhutaan Pandasta, on ymmärrettävä Numpy-taulukoiden käsite. Miksi? Koska Pandas on avoimen lähdekoodin ohjelmistokirjasto, joka on rakennettu sen päälle . Tässä Python Pandas -oppaassa perehdytään seuraaviin aiheisiin, jotka toimivat tulevien blogien perustekijöinä:

Aloitetaan. :-)





Mikä on Python Pandas?

Pandoja käytetään tietojen käsittelyyn, analysointiin ja puhdistamiseen. Python-pandat soveltuvat hyvin erilaisiin tietoihin, kuten:

  • Taulukkotiedot heterogeenisesti kirjoitetuilla sarakkeilla
  • Tilatut ja järjestämättömät aikasarjatiedot
  • Mielivaltaiset matriisitiedot rivi- ja saraketunnisteilla
  • Tunnistamattomat tiedot
  • Mikä tahansa muu havainnointi- tai tilastotietojoukko

Kuinka asentaa Pandas?

Asenna Python Pandas siirtymällä komentoriville / päätelaitteeseen ja kirjoittamalla 'pip install pandas' tai muuten, jos järjestelmääsi on asennettu anaconda, kirjoita vain 'conda install pandas'. Kun asennus on valmis, siirry IDE-tietokoneellesi (Jupyter, PyCharm jne.) Ja tuo se yksinkertaisesti kirjoittamalla: 'import pandas as pd'



Python pandas -opetusohjelmassa eteenpäin katsotaanpa joitakin sen toimintoja:

Python Pandas -operaatiot

Python-pandojen avulla voit suorittaa paljon operaatioita sarjoilla, datakehyksillä, puuttuvilla tiedoilla, ryhmittelyllä jne. Jotkut yleisimmistä tietojen käsittelytoiminnoista on lueteltu alla:



PandasOperations - Python Pandas -opetusohjelma - Edureka

Ymmärretään nyt kaikki nämä toiminnot yksitellen.

Viipaloi tietokehys

Tietojen viipalointi edellyttää tietokehystä. Älä huoli, datakehys on 2-ulotteinen tietorakenne ja yleisin pandakohde. Joten ensin luodaan datakehys.

Katso alla oleva koodi sen käyttöönotosta PyCharmissa:

toimintoja, jotka eroavat vain palautustyypiltään, ei voida ylikuormittaa
tuo pandat muodossa pd XYZ_web = {'Päivä': [1,2,3,4,5,6], 'Vierailijat': [1000, 700,6000,1000,400,350], 'Palautusnopeus': [20,20, 23,15,10,34]} df = pd.DataFrame (XYZ_web) -tulostus (df)

Tuotos :

Bounce_Rate-päivän vierailijat 0 20 1 1000 1 20 2700 2 23 3 6000 3 15 4 1000 4 10 5400 5 34 6350

Yllä oleva koodi muuntaa sanakirjan pandojen tietokehykseksi ja vasemmalla olevan hakemiston. Nyt leikataan tietty sarake tästä datakehyksestä. Katso alla oleva kuva:

tulosta (df.head (2))

Tuotos:

Bounce_Rate-päivän kävijät 0 20 1 1000 1 20 2700

Vastaavasti, jos haluat kahden viimeisen tietorivin, kirjoita seuraava komento:

tulosta (df. pyrstö (2))

Tuotos:

Bounce_Rate-päivän kävijät 4 10 5400 5 34 6350

Seuraavaksi Python Pandas -opetusohjelmassa, suoritetaan sulauttaminen ja liittyminen.

Yhdistyminen ja liittyminen

Yhdistettäessä voit yhdistää kaksi datakehystä muodostamaan yhden datakehyksen. Voit myös päättää, mitkä sarakkeet haluat tehdä yleisiksi. Haluan toteuttaa sen käytännössä, ensin luon kolme datakehystä, joissa on joitain avainarvopareja, ja sitten yhdistän datakehykset yhteen. Katso alla oleva koodi:

HPI IND_GDP Int_Rate 0 80 50 2 1 90 45 1 2 70 45 2 3 60 67 3

Tuotos:

tuo pandat muodossa pd df1 = pd.DataFrame ({'HPI': [80,90,70,60], 'Int_Rate': [2,1,2,3], 'IND_GDP': [50,45,45, 67]}, indeksi = [2001, 2002,2003,2004]) df2 = pd.DataFrame ({'HPI: [80,90,70,60],' Int_Rate ': [2,1,2,3] , 'IND_GDP': [50,45,45,67]}, hakemisto = [2005, 2006,2007,2008]) yhdistetty = pd.merge (df1, df2) tulosta (yhdistetty)

Kuten yllä voit nähdä, nämä kaksi datakehystä on yhdistetty yhdeksi datakehykseksi. Nyt voit myös määrittää sarakkeen, jonka haluat tehdä yleiseksi. Haluan esimerkiksi, että HPI-sarake on yleinen ja kaiken muun osalta haluan erilliset sarakkeet. Joten anna minun toteuttaa se käytännössä:

df1 = pd.DataFrame ({'HPI': [80,90,70,60], 'Int_Rate': [2,1,2,3], 'IND_GDP': [50,45,45,67]}, indeksi = [2001, 2002,2003,2004]) df2 = pd.DataFrame ({'HPI: [80,90,70,60],' Int_Rate ': [2,1,2,3],' IND_GDP ' : [50,45,45,67]}, hakemisto = [2005, 2006,2007,2008]) yhdistetty = pd.merge (df1, df2, on = 'HPI') tulosta (yhdistetty)

Tuotos:

IND_GDP Int_Rate Low_Tier_HPI Työttömyys 2001 50 2 50,0 1,0 2002 45 1 NaN NaN 2003 45 2 45,0 3,0 2004 67 3 67,0 5,0 2004 67 3 34,0 6,0

Seuraavaksi anna meidän ymmärtää liittyminen python pandas -oppaassa. Se on vielä yksi kätevä tapa yhdistää kaksi erilaista indeksoitua datakehystä yhdeksi tulokseksi. Tämä on melko samanlainen kuin yhdistämistoiminto, paitsi että liittämistoiminto on 'hakemistossa' sarakkeiden sijaan. Toteutetaan se käytännössä.

df1 = pd.DataFrame ({'Int_Rate': [2,1,2,3], 'IND_GDP': [50,45,45,67]}, indeksi = [2001, 2002,2003,2004]) df2 = pd.DataFrame ({'Low_Tier_HPI': [50,45,67,34], 'Työttömyys': [1,3,5,6]}, indeksi = [2001, 2003,2004,2004]) liittyi = df1. liity (df2) tulosta (liity)

Tuotos:

IND_GDP Int_Rate Low_Tier_HPI Työttömyys 2001 50 2 50,0 1,0 2002 45 1 NaN NaN 2003 45 2 45,0 3,0 2004 67 3 67,0 5,0 2004 67 3 34,0 6,0

Kuten yllä olevasta tuotoksesta voi huomata, vuonna 2002 (indeksi) sarakkeisiin 'low_tier_HPI' ja 'työttömyys' ei ole liitetty arvoa, joten se on tulostanut NaN (Not a Number). Myöhemmin vuonna 2004 molemmat arvot ovat käytettävissä, joten se on tulostanut vastaavat arvot.

Voit käydä läpi tämän Python Pandas -opetusohjelman nauhoituksen, jossa ohjaajamme on selittänyt aiheet yksityiskohtaisesti esimerkkien avulla, jotka auttavat sinua ymmärtämään tämän käsitteen paremmin.

Python tietojen analysointia varten Python Pandas -opetusohjelma Python-koulutus | Edureka


Python pandas -opetusohjelmassa eteenpäin ymmärretään, kuinka ketjuttaa kaksi datatietokehystä.

Ketjutus

Ketjutus liimaa datakehykset periaatteessa yhteen. Voit valita ulottuvuuden, johon haluat ketjuttaa. Käytä sitä varten vain 'pd.concat' ja välitä datakehysluetteloon yhteen ketjutusta varten. Harkitse alla olevaa esimerkkiä.

df1 = pd.DataFrame ({'HPI': [80,90,70,60], 'Int_Rate': [2,1,2,3], 'IND_GDP': [50,45,45,67]}, indeksi = [2001, 2002,2003,2004]) df2 = pd.DataFrame ({'HPI: [80,90,70,60],' Int_Rate ': [2,1,2,3],' IND_GDP ' : [50,45,45,67]}, hakemisto = [2005, 2006,2007,2008]) concat = pd.concat ([df1, df2]) print (concat)

Tuotos:

HPI IND_GDP Int_Rate 2001 80 50 2 2002 90 45 1 2003 70 45 2 2004 60 67 3 2005 80 50 2 2006 90 45 1 2007 70 45 2 2008 60 67 3

Kuten yllä voit nähdä, nämä kaksi datakehystä on liimattu yhteen datakehykseen, jossa hakemisto alkaa vuodesta 2001 aina vuoteen 2008 asti. Seuraavaksi voit määrittää myös akselin = 1 liittyäksesi, yhdistääksesi tai katatoidaksesi sarakkeita pitkin. Katso alla oleva koodi:

df1 = pd.DataFrame ({'HPI': [80,90,70,60], 'Int_Rate': [2,1,2,3], 'IND_GDP': [50,45,45,67]}, indeksi = [2001, 2002,2003,2004]) df2 = pd.DataFrame ({'HPI: [80,90,70,60],' Int_Rate ': [2,1,2,3],' IND_GDP ' : [50,45,45,67]}, hakemisto = [2005, 2006,2007,2008]) concat = pd.concat ([df1, df2], akseli = 1) print (concat)

Tuotos:

HPI IND_GDP Int_Rate HPI IND_GDP Int_Rate 2001 80,0 50,0 2,0 NaN NaN NaN 2002 90,0 45,0 1,0 NaN NaN NaN 2003 70,0 45,0 2,0 NaN NaN NaN 2004 60,0 67,0 3,0 NaN NaN NaN 2004 60,0 67,0 3,0 NaN NaN NaN 2005 60 NaN NaN NaN 80,0 50,0 2,0 2006 NaN NaN NaN 90,0 45,0 1,0 2007 NaN NaN NaN 70,0 45,0 2,0 2008 NaN NaN NaN 60,0 67,0 3,0

Kuten yllä voit, puuttuu arvoja. Tämä tapahtuu, koska datakehyksillä ei ollut arvoja kaikille hakemistoille, joihin haluat ketjuttaa. Siksi sinun on varmistettava, että kaikki tiedot ovat oikeassa järjestyksessä, kun liityt tai ketjutat akselille.

Muuta hakemistoa

Seuraavaksi python pandas -opetusohjelmassa ymmärrämme, kuinka datakehyksen indeksiarvoja muutetaan. Luodaan esimerkiksi tietokehys, jossa on joitain avainarvopareja sanakirjassa, ja muutetaan hakemiston arvoja. Harkitse alla olevaa esimerkkiä:

Katsotaanpa, miten se todella tapahtuu:

mikä on pojo-luokka java
tuo pandat muodossa pd df = pd.DataFrame ({'Päivä': [1,2,3,4], 'Vierailijat': [200, 100,230,300], 'Palautusnopeus': [20,45,60,10]}) df.set_index ('päivä', paikalla = tosi) tulosta (df)

Tuotos:

Bounce_Rate-kävijöiden päivä 1 20200 2 45100 3 60230 4 10 300

Kuten yllä olevasta tuotoksesta huomaa, indeksin arvoa on muutettu Päivä-sarakkeen suhteen.

Muuta sarakeotsikot

Muuta nyt sarakkeiden otsikot tässä python pandas -opetusohjelmassa. Otetaanpa sama esimerkki, jossa vaihdan sarakkeen otsikon 'Vierailijat' -asetukseksi 'Käyttäjät'. Joten anna minun toteuttaa se käytännössä.

tuo pandat muodossa pd df = pd.DataFrame ({'Päivä': [1,2,3,4], 'Vierailijat': [200, 100,230,300], 'Palautusnopeus': [20,45,60,10]}) df = df.rename (sarakkeet = {'Vierailijat': 'Käyttäjät'}) tulosta (df)

Tuotos:

Bounce_Rate-päivän käyttäjät 0 20 1200 1 45 2100 2 60 3230 3 10 4300

Kuten yllä näet, sarakkeen otsikko 'Vierailijat' on muutettu 'Käyttäjät'. Seuraavaksi python pandas -opetusohjelmassa, suorittakaamme tietojen munging.

Tietojen munging

Data munging -kohdassa voit muuntaa tietyt tiedot eri muotoon. Jos sinulla on esimerkiksi .csv-tiedosto, voit muuntaa sen myös .html-tiedostoksi tai muuksi datamuodoksi. Joten anna minun toteuttaa tämä käytännössä.

tuo pandat muodossa pd country = pd.read_csv ('D: UsersAayushiDownloadsworld-pankki-nuorisotyöttömyysAPI_ILO_country_YU.csv', index_col = 0) country.to_html ('edu.html')

Kun olet suorittanut tämän koodin, luodaan HTML-tiedosto nimeltä edu.html. Voit kopioida tiedoston polun suoraan ja liittää sen selaimeesi, joka näyttää tiedot HTML-muodossa. Katso seuraava kuvakaappaus:


Seuraavaksi python pandas -opetusohjelmassa katsotaanpa käyttötapausta, jossa puhutaan globaalista nuorisotyöttömyydestä.

Python Pandas -opetusohjelma: Käytä tapausta nuorten työttömyystietojen analysointiin

Ongelma :Sinulle annetaan tietojoukko, joka koostuu työttömien nuorten prosenttiosuudesta maailmanlaajuisesti vuosina 2010--2014. Sinun on käytettävä tätä aineistoa ja löydettävä muutos nuorten prosenttiosuudessa kussakin maassa vuosina 2010--2011.

Ensinnäkin, ymmärretään tietojoukko, joka sisältää sarakkeet Maan nimi, Maakoodi ja vuosi vuodesta 2010 vuoteen 2014. Nyt käytämme pandoja lukiessamme pd.read_csv-tiedoston .csv-tiedostomuodotiedoston.
Katso alla oleva kuvakaappaus:

Siirrytään eteenpäin ja suoritetaan data-analyysi, jossa aiomme selvittää prosentuaalisen muutoksen työttömissä nuorissa vuosina 2010–2011. Sitten visualisoimme saman käyttämällä kirjasto, joka on tehokas kirjasto visualisointia varten Pythonissa. Sitä voidaan käyttää Python-komentosarjoissa, shellissä, verkkosovelluspalvelimissa ja muissa GUI-työkalupaketeissa. Voit käyttää lue lisää täältä:

Toteutetaan nyt koodi PyCharmissa:

tuo pandat pd-tiedostona tuo matplotlib.pyplot plt-tiedostona matplotlib-tuontityylistä style.use ('fivethirtyeight') country = pd.read_csv ('D: UsersAayushiDownloadsworld-bank-youth-työttömyysAPI_ILO_country_YU.csv', index_col = 0) df = maa. head (5) df = df.set_index (['Maakoodi']) sd = sd.reindex (sarakkeet = ['2010', '2011']) db = sd.diff (akseli = 1) db.plot (laji) = 'bar') plt.show ()

Kuten yllä voit nähdä, olen suorittanut analyysin maadatakehyksen viidelle ylimmälle riville. Seuraavaksi olen määrittänyt indeksiarvoksi 'Maakoodi' ja indeksoin sitten sarakkeen uudelleen vuosille 2010 ja 2011. Sitten meillä on vielä yksi tietokehys db, joka tulostaa kahden sarakkeen välisen eron tai työttömien nuorten prosentuaalisen muutoksen Vuodesta 2010 vuoteen 2011. Lopuksi olen piirtänyt kaavion käyttämällä Pythonin Matplotlib-kirjastoa.


Jos huomasit yllä olevassa juonessa, Afganistanissa (AFG) vuosina 2010--2011, työttömien nuorten määrä on noussut noin. 0,25%. Sitten Angolassa (AGO) on negatiivinen suuntaus, mikä tarkoittaa, että työttömien nuorten osuus on laskenut. Vastaavasti voit suorittaa analyysin eri tietojoukoille.

Toivon, että blogini 'Python Pandas Tutorial' -ohjelmassa oli merkityksellinen sinulle. Saadaksesi syvällistä tietoa pythonista sen eri sovellusten kanssa, voit ilmoittautua livenä kirjoittanut Edureka 24/7 tuella ja käyttöikä.

Onko sinulla kysymys meille? Mainitse se tämän 'Python Pandas tutorial' -blogin kommenttiosassa, niin otamme sinuun yhteyttä mahdollisimman pian.