„Python Pandas“ mokymo programa: sužinokite „Pandas“ apie duomenų analizę



Šioje „Python Pandas“ pamokoje sužinosite įvairias „Pandas“ operacijas. Tai taip pat apima naudojimo atvejį, kai galite analizuoti duomenis naudodami „Pandas“.

Šiame tinklaraštyje aptarsime duomenų analizę naudojant „Pandas“ sistemoje „Python“.Šiandien yra populiarus įgūdis pramonėje, kuris pagal populiarumą ir naudojimą lenkė PHP 2017 m. ir C # 2018 m.Prieš kalbėdami apie „Pandas“, turite suprasti „Numpy“ masyvų sąvoką. Kodėl? Kadangi „Pandas“ yra atviro kodo programinės įrangos biblioteka, sukurta ant . Šioje „Python Pandas“ pamokoje apžvelgsiu šias temas, kurios bus pagrindiniai būsimų tinklaraščių pagrindai:

Pradėkime. :-)



„java“ komandinės eilutės argumentų pavyzdys

Kas yra „Python Pandas“?

Pandos naudojamos manipuliuoti duomenimis, analizuoti ir valyti. „Python“ pandos puikiai tinka įvairių rūšių duomenims, pvz .:

  • Duomenys lentelėse su heterogeniškai surinktais stulpeliais
  • Užsakytų ir nesutvarkytų laiko eilučių duomenys
  • Savavališki matricos duomenys su eilučių ir stulpelių etiketėmis
  • Nežymėti duomenys
  • Bet kokia kita stebėjimo ar statistinių duomenų rinkinių forma

Kaip įdiegti „Pandas“?

Norėdami įdiegti „Python Pandas“, eikite į komandinę eilutę / terminalą ir įveskite „pip install pandas“ arba dar kitaip, jei jūsų sistemoje įdiegta „anaconda“, tiesiog įveskite „conda install pandas“. Baigę diegti, eikite į savo IDE („Jupyter“, „PyCharm“ ir kt.) Ir tiesiog importuokite įrašydami: „import pandas as pd“



Pažvelkime į „Python pandas“ pamoką, pažvelkime į kai kurias jos operacijas:

„Python Pandas“ operacijos

Naudodami „Python“ pandas galite atlikti daug operacijų su serijomis, duomenų rėmeliais, trūkstamais duomenimis, grupavimu ir kt. Kai kurios įprastos manipuliavimo duomenimis operacijos yra išvardytos toliau:



„PandasOperations“ - „Python Pandas“ mokymo programa - „Edureka“

Dabar supraskime visas šias operacijas po vieną.

Duomenų rėmelio pjaustymas

Norint atlikti duomenų pjaustymą, jums reikia duomenų rėmelio. Nesijaudinkite, duomenų rėmas yra dvimatė duomenų struktūra ir labiausiai paplitęs pandų objektas. Taigi pirmiausia sukurkime duomenų rėmelį.

Žr. Žemiau pateiktą kodą, kaip jį įdiegti „PyCharm“:

importuoti pandas kaip pd XYZ_web = {'Diena': [1,2,3,4,5,6], 'Lankytojai': [1000, 700,6000,1000,400,350], 'Bounce_Rate': [20,20, 23,15,10,34]} df = pd.DataFrame (XYZ_web) spausdinti (df)

Rezultatas :

„Bounce_Rate“ dienos lankytojai 0 20 1 1000 1 20 2 700 2 23 3 6000 3 15 4 1000 4 10 5 400 5 34 6 350

Aukščiau pateiktas kodas pavers žodyną į pandų duomenų rėmelį kartu su rodykle kairėje. Dabar supjaustykime konkretų stulpelį iš šio duomenų rėmelio. Žiūrėkite žemiau esantį vaizdą:

spausdinti (df.head (2))

Išvestis:

„Bounce_Rate“ dienos lankytojai 0 20 1 1000 1 20 2 700

Panašiai, jei norite paskutinių dviejų duomenų eilučių, įveskite toliau pateiktą komandą:

spausdinti (df.tail (2))

Išvestis:

„Bounce_Rate“ dienos lankytojai 4 10 5 400 5 34 6 350

Kitas „Python Pandas“ pamokoje atlikime sujungimą ir prisijungimą.

Susijungimas ir prisijungimas

Sujungdami galite sujungti du duomenų rėmus ir suformuoti vieną duomenų rėmelį. Taip pat galite nuspręsti, kuriuos stulpelius norite įprasti. Leiskite man tai praktiškai įgyvendinti. Pirmiausia sukursiu tris duomenų rėmelius, kuriuose yra keletas raktų ir verčių porų, o tada sujungsiu duomenų rėmus. Peržiūrėkite žemiau esantį kodą:

HPI IND_GDP vid. Norma 0 80 50 2 1 90 45 1 2 70 45 2 3 60 67 3

Išvestis:

importuoti pandas kaip pd df1 = pd.DataFrame ({'HPI': [80,90,70,60], 'Int_Rate': [2,1,2,3], 'IND_GDP': [50,45,45, 67]}, indeksas = [2001, 2002, 2003, 2003, 2004]) df2 = pd.DataFrame ({'HPI': [80,90,70,60], 'Int_Rate': [2,1,2,3] , 'IND_GDP': [50,45,45,67]}, rodyklė = [2005, 2006,2007,2008]) sujungta = pd.merge (df1, df2) spausdinti (sujungta)

Kaip matote aukščiau, du duomenų rėmeliai buvo sujungti į vieną duomenų rėmelį. Dabar taip pat galite nurodyti stulpelį, kurį norite įprasti. Pavyzdžiui, noriu, kad stulpelis „HPI“ būtų įprastas, o visa kita - atskirų stulpelių. Taigi leiskite man tai praktiškai įgyvendinti:

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

Išvestis:

IND_GDP vidutinis rodiklis Žemas_Tier_HPI nedarbas 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

Toliau leiskite mums suprasti prisijungimas „python pandas“ pamokoje. Tai dar vienas patogus būdas sujungti du skirtingai indeksuotus duomenų kadrus į vieną rezultatą. Tai yra gana panašu į „sujungimo“ operaciją, išskyrus tai, kad prisijungimo operacija bus „rodyklėje“, o ne „stulpeliuose“. Įgyvendinkime tai praktiškai.

df1 = pd.DataFrame ({'Int_Rate': [2,1,2,3], 'IND_GDP': [50,45,45,67]}, indeksas = [2001, 2002,2003,2004]] df2 = pd.DataFrame ({'Low_Tier_HPI': [50,45,67,34], 'Bedarbis': [1,3,5,6]}, indeksas = [2001, 2003,2004,2004]) prisijungė = df1. prisijungti (df2) spausdinti (prisijungti)

Išvestis:

IND_GDP vidutinis rodiklis Žemas_Tier_HPI nedarbas 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

Kaip galite pastebėti aukščiau pateiktoje išvestyje, 2002 m. (Indeksas) stulpeliams „low_tier_HPI“ ir „nedarbas“ nėra jokios vertės, todėl jis atspausdino NaN (Not a Number). Vėliau, 2004 m., Yra prieinamos abi vertės, todėl ji atspausdino atitinkamas vertes.

Galite pereiti šį „Python Pandas“ mokymo programos įrašą, kur mūsų instruktorius išsamiai paaiškino temas su pavyzdžiais, kurie padės geriau suprasti šią koncepciją.

„Python“ duomenų analizei | „Python Pandas“ pamoka | „Python“ mokymai | Edureka


„Python pandas“ pamokoje pažvelkime į priekį, kaip susieti du duomenų duomenų rėmus.

Sujungimas

Sujungimas iš esmės suklijuoja duomenų rėmus. Galite pasirinkti aspektą, kurį norite susieti. Tam tiesiog naudokite „pd.concat“ ir perkelkite duomenų kadrų sąrašą, kad susietumėte kartu. Apsvarstykite žemiau pateiktą pavyzdį.

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

Išvestis:

HPI IND_GDP vid. Norma 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

Kaip matote aukščiau, du duomenų kadrai yra sulipdyti į vieną duomenų kadrą, kuriame indeksas prasideda nuo 2001 m. Iki 2008 m. Toliau taip pat galite nurodyti ašį = 1, kad galėtumėte prisijungti, sujungti ar išilgai stulpelių. Peržiūrėkite žemiau esantį kodą:

df1 = pd.DataFrame ({'HPI': [80,90,70,60], 'Int_Rate': [2,1,2,3], 'IND_GDP': [50,45,45,67]}, indeksas = [2001, 2002,2003,2004]) df2 = pd.DataFrame ({'HPI: [80,90,70,60],' Int_Rate ': [2,1,2,3],' IND_GDP ' : [50,45,45,67]}, rodyklė = [2005, 2006,2007,2008]) concat = pd.concat ([df1, df2], ašis = 1) spausdinti (concat)

Išvestis:

HPI IND_GDP Int_Rate NaN NaN 70,0 45,0 2,0 2008 NaN NaN NaN 60,0 67,0 3,0

Kaip galite aukščiau, yra daugybė trūkstamų verčių. Taip atsitinka todėl, kad duomenų kadrai neturėjo visų indeksų, kuriuos norite susieti, reikšmių. Todėl jūs turėtumėte įsitikinti, kad visa informacija yra teisingai išdėstyta, kai jungiatės ar sujungiate ašį.

Keisti indeksą

Toliau pamokoje „python pandas“ suprasime, kaip pakeisti indekso reikšmes duomenų kadre. Pavyzdžiui, sukurkime duomenų rėmelį su kai kuriomis pagrindinių reikšmių poromis žodyne ir pakeiskime indekso reikšmes. Apsvarstykite toliau pateiktą pavyzdį:

Pažiūrėkime, kaip tai iš tikrųjų vyksta:

importuoti pandas kaip pd df = pd.DataFrame ({„Diena“: [1,2,3,4], „Lankytojai“: [200, 100,230,300], „Bounce_Rate“: [20,45,60,10]}) df.set_index („Diena“, vietoje = Tiesa) spausdinti (df)

Išvestis:

„Bounce_Rate“ lankytojų diena 1 20 200 2 45 100 3 60 230 4 10 300

Kaip pastebėjote aukščiau pateiktame išvestyje, indekso vertė buvo pakeista, atsižvelgiant į stulpelį „Diena“.

Pakeiskite stulpelių antraštes

Dabar pakeiskime šios python pandos pamokos stulpelio antraštes. Paimkime tą patį pavyzdį, kur aš pakeisiu stulpelio antraštę iš „Lankytojai“ į „Vartotojai“. Taigi leiskite man tai praktiškai įgyvendinti.

importuoti pandas kaip pd df = pd.DataFrame ({„Diena“: [1,2,3,4], „Lankytojai“: [200, 100,230,300], „Bounce_Rate“: [20,45,60,10]}) df = df.rename (stulpeliai = {'Lankytojai': 'Vartotojai'}) spausdinti (df)

Išvestis:

„Bounce_Rate Day“ vartotojai 0 20 1 200 1 45 2 100 2 60 3 230 3 10 4 300

Kaip matote aukščiau, stulpelio antraštė „Lankytojai“ pakeista į „Vartotojai“. Kitas „python pandas“ pamokoje atlikime duomenų gaudymą.

Duomenų jungimas

Dalyje Duomenų valdymas galite konvertuoti tam tikrus duomenis į kitą formatą. Pvz., Jei turite .csv failą, galite jį konvertuoti ir į .html ar bet kurį kitą duomenų formatą. Taigi leiskite man tai praktiškai įgyvendinti.

importuoti pandas kaip pd country = pd.read_csv ('D: UsersAayushiDownloadsworld-bankas-jaunimas-nedarbasAPI_ILO_country_YU.csv', index_col = 0) country.to_html ('edu.html')

Kai paleisite šį kodą, bus sukurtas HTML failas pavadinimu „edu.html“. Galite tiesiogiai nukopijuoti failo kelią ir įklijuoti jį į savo naršyklę, kurioje duomenys rodomi HTML formatu. Peržiūrėkite žemiau pateiktą ekrano kopiją:


Kitas „pitono pandos“ pamokoje pažvelkime į naudojimo atvejį, kuriame kalbama apie pasaulinį jaunimo nedarbą.

„Python Pandas“ mokymo programa: naudokite atvejį analizuodami jaunimo nedarbo duomenis

Problemos pareiškimas :Jums suteikiamas duomenų rinkinys, kuris sudaro nedirbančio jaunimo procentas visame pasaulyje nuo 2010 m. iki 2014 m. Turite naudoti šį duomenų rinkinį ir surasti jaunimo procentinį pokytį kiekvienoje šalyje 2010–2011 m.

Pirmiausia supraskime duomenų rinkinį, kuriame yra stulpeliai kaip Šalies pavadinimas, Šalies kodas ir metai nuo 2010 iki 2014 m. Dabar, naudodami pandas, naudosime „pd.read_csv“, kad galėtume perskaityti .csv failo formato failą.
Peržiūrėkite toliau pateiktą ekrano kopiją:

Pažvelkime į priekį ir atlikime duomenų analizę, kurioje išsiaiškinsime bedarbio jaunimo procentinį pokytį 2010–2011 m. Tada tą patį atvaizduosime naudodami biblioteka, kuri yra galinga biblioteka, skirta vizualizuoti „Python“. Jis gali būti naudojamas „Python“ scenarijuose, „shell“, žiniatinklio programų serveriuose ir kituose GUI įrankių rinkiniuose. Skaitykite daugiau čia:

Dabar įgyvendinkime „PyCharm“ kodą:

importuoti pandas kaip pd importuoti matplotlib.pyplot kaip plt iš matplotlib importo stiliaus style.use ('fivethirtyeightight') country = pd.read_csv ('D: UsersAayushiDownloadsworld-bank-youth-nedarbasAPI_ILO_country_YU.csv', index_col = 0) df = country. head (5) df = df.set_index (['Country Code']) sd = sd.reindex (stulpeliai = ['2010', '2011']) db = sd.diff (ašis = 1) db.plot (natūra = 'baras') plt.show ()

Kaip matote aukščiau, aš atlikau 5 didžiausių šalies duomenų rėmelio eilučių analizę. Tada aš apibrėžiau indekso vertę kaip „Šalies kodas“ ir tada indeksuoju stulpelį iki 2010 ir 2011 m. Tada turime dar vieną duomenų rėmelį db, kuris atspindi skirtumą tarp dviejų stulpelių arba bedarbio jaunimo procentinį pokytį. nuo 2010 iki 2011. Galiausiai aš suplanavau barplotą naudodamas „Matplotlib“ biblioteką „Python“.


perkrova ir nepaisoma java

Dabar, jei pastebėjote aukščiau nurodytame sklype, Afganistane (AFG) nuo 2010 iki 2011 m., Jaunimo bedarbių skaičius išaugo maždaug. 0,25%. Tada Angoloje (AGO) pastebima neigiama tendencija, o tai reiškia, kad sumažėjo bedarbio jaunimo procentas. Panašiai galite atlikti skirtingų duomenų rinkinių analizę.

Tikiuosi, kad mano tinklaraštis „Python Pandas Tutorial“ buvo jums aktualus. Norėdami gauti išsamių žinių apie pitoną kartu su įvairiomis jo programomis, galite užsiregistruoti gyventi sukūrė „Edureka“ su parą visą parą ir visą gyvenimą.

Turite mums klausimą? Prašau tai paminėti šio „Python Pandas tutorial“ tinklaraščio komentarų skyriuje, ir mes kuo greičiau susisieksime su jumis.