V tomto blogu budeme diskutovat o analýze dat pomocí Pand v Pythonu.Dnes, je horká dovednost v oboru, která překonala PHP v roce 2017 a C # v roce 2018, pokud jde o celkovou popularitu a použití.Než budeme mluvit o Pandách, musíme porozumět konceptu Numpyho polí. Proč? Protože Pandas je open source softwarová knihovna, která je postavena na vrcholu . V tomto výukovém programu Python Pandas vás provedu následujícími tématy, která budou sloužit jako základy pro nadcházející blogy:
Začněme. :-)
Co je Python Pandas?
Pandy se používají pro manipulaci s daty, analýzu a čištění. Pythonové pandy se dobře hodí pro různé druhy dat, například:
- Tabulková data s heterogenně napsanými sloupci
- Uspořádaná a neuspořádaná data časových řad
- Data libovolné matice se štítky řádků a sloupců
- Neoznačené údaje
- Jakákoli jiná forma souborů pozorovacích nebo statistických údajů
Jak nainstalovat Pandy?
Chcete-li nainstalovat Python Pandas, přejděte do příkazového řádku / terminálu a zadejte „pip install pandas“, jinak, pokud máte v systému nainstalovanou anakondu, stačí zadat „conda install pandas“. Po dokončení instalace přejděte do svého IDE (Jupyter, PyCharm atd.) A jednoduše jej importujte zadáním: „importovat pandy jako pd“
Pokračujeme v tutoriálu Python pand, pojďme se podívat na některé z jeho operací:
Operace Python Pandas
Pomocí Python pand můžete provádět řadu operací se sériemi, datovými rámci, chybějícími daty, seskupováním atd. Některé běžné operace pro manipulaci s daty jsou uvedeny níže:
rozdíl mezi přetížením a přepsáním metody
Nyní pochopíme všechny tyto operace jeden po druhém.
Krájení datového rámce
Aby bylo možné provést krájení dat, potřebujete datový rámec. Nebojte se, datový rámec je dvourozměrná datová struktura a nejběžnější objekt pandy. Nejprve si tedy vytvořme datový rámec.
O implementaci v PyCharmu viz níže uvedený kód:
importovat pandy jako pd XYZ_web = {'Day': [1,2,3,4,5,6], 'Visitors': [1000, 700,6000,1000,400,350], 'Bounce_Rate': [20,20, 23,15,10,34]} df = pd.DataFrame (XYZ_web) tisk (df)
Výstup :
Bounce_Rate Denní návštěvníci 0 20 1 1000 1 20 2 700 2 23 3 6000 3 15 4 1000 4 10 5400 5 34 6350
Výše uvedený kód převede slovník na datový rámec pandy spolu s indexem vlevo. Nyní rozdělme konkrétní sloupec z tohoto datového rámce. Viz obrázek níže:
tisk (df.head (2))
Výstup:
Návštěvníci Bounce_Rate Day 0 20 1 1000 1 20 2 700
Podobně, pokud chcete poslední dva řádky dat, zadejte následující příkaz:
tisk (df.tail (2))
Výstup:
Návštěvníci Bounce_Rate Day 4 10 5 400 5 34 6 350
Dále v kurzu Python Pandas provedeme sloučení a připojení.
Sloučení a připojení
Při slučování můžete sloučit dva datové rámce do jednoho datového rámce. Můžete také rozhodnout, které sloupce chcete označit jako běžné. Dovolte mi, abych to implementoval prakticky, nejprve vytvořím tři datové rámce, které mají pár párů klíč-hodnota, a pak je spojím dohromady. Viz níže uvedený kód:
HPI IND_GDP Int_Rate 0 80 50 2 1 90 45 1 2 70 45 2 3 60 67 3
Výstup:
importovat pandy jako pd df1 = pd.DataFrame ({'HPI': [80,90,70,60], 'Int_Rate': [2,1,2,3], 'IND_GDP': [50,45,45, 67]}, index = [2001, 2002,2003,2004]) df2 = pd.DataFrame ({'HPI': [80,90,70,60], 'Int_Rate': [2,1,2,3] , 'IND_GDP': [50,45,45,67]}, index = [2005, 2006,2007,2008]) merged = pd.merge (df1, df2) print (merged)
Jak vidíte výše, dva datové rámce se sloučily do jediného datového rámce. Nyní můžete také určit sloupec, který chcete označit jako společný. Například chci, aby byl sloupec „HPI“ společný, a pro všechno ostatní chci samostatné sloupce. Dovolte mi tedy, abych to provedl prakticky:
df1 = pd.DataFrame ({'HPI': [80,90,70,60], 'Int_Rate': [2,1,2,3], 'IND_GDP': [50,45,45,67]}, index = [2001, 2002,2003,2004]) df2 = pd.DataFrame ({'HPI': [80,90,70,60], 'Int_Rate': [2,1,2,3], 'IND_GDP' : [50,45,45,67]}, index = [2005, 2006,2007,2008]) merged = pd.merge (df1, df2, on = 'HPI') print (merged)
Výstup:
IND_GDP Int_Rate Low_Tier_HPI Nezaměstnanost 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
Dále to pochopíme spojování v tutoriálu python pandas. Je to ještě další pohodlná metoda, jak kombinovat dva různě indexované datové rámce do jednoho datového rámce s výsledky. To je docela podobné operaci „sloučení“, až na to, že operace připojení bude na „indexu“ místo na „sloupcích“. Realizujme to prakticky.
df1 = pd.DataFrame ({'Int_Rate': [2,1,2,3], 'IND_GDP': [50,45,45,67]}, index = [2001, 2002,2003,2004]) df2 = pd.DataFrame ({'Low_Tier_HPI': [50,45,67,34], 'Nezaměstnanost': [1,3,5,6]}, index = [2001, 2003,2004,2004]) join = df1. připojit (df2) tisk (připojit)
Výstup:
IND_GDP Int_Rate Low_Tier_HPI Nezaměstnanost 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
Jak si můžete všimnout ve výše uvedeném výstupu, v roce 2002 (index) není sloupcům „low_tier_HPI“ a „nezaměstnanost“ přiřazena žádná hodnota, proto má vytištěný NaN (ne číslo). Později v roce 2004 jsou obě hodnoty k dispozici, proto příslušné hodnoty vytiskla.
Můžete projít touto nahrávkou tutoriálu Python Pandas, kde náš instruktor podrobně vysvětlil témata pomocí příkladů, které vám pomohou lépe pochopit tento koncept.
Python pro analýzu dat | Výukový program pro Python Pandas | Výcvik v Pythonu | Edureka
Pokračujeme v tutoriálu Python pand, pojďme pochopit, jak zřetězit dva datové datové rámce.
Zřetězení
Zřetězení v zásadě spojuje datové rámce dohromady. Můžete vybrat dimenzi, do které chcete zřetězit. K tomu stačí použít soubor „pd.concat“ a předat seznam datových rámců, které se spojí dohromady. Zvažte následující příklad.
df1 = pd.DataFrame ({'HPI': [80,90,70,60], 'Int_Rate': [2,1,2,3], 'IND_GDP': [50,45,45,67]}, index = [2001, 2002,2003,2004]) df2 = pd.DataFrame ({'HPI': [80,90,70,60], 'Int_Rate': [2,1,2,3], 'IND_GDP' : [50,45,45,67]}, index = [2005, 2006,2007,2008]) concat = pd.concat ([df1, df2]) tisk (concat)
Výstup:
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
Jak vidíte výše, dva datové rámce jsou slepeny dohromady v jednom datovém rámci, kde index začíná od roku 2001 až do roku 2008. Dále můžete také určit osu = 1, abyste se mohli spojit, sloučit nebo zřetězit podél sloupců. Viz níže uvedený kód:
df1 = pd.DataFrame ({'HPI': [80,90,70,60], 'Int_Rate': [2,1,2,3], 'IND_GDP': [50,45,45,67]}, index = [2001, 2002,2003,2004]) df2 = pd.DataFrame ({'HPI': [80,90,70,60], 'Int_Rate': [2,1,2,3], 'IND_GDP' : [50,45,45,67]}, index = [2005, 2006,2007,2008]) concat = pd.concat ([df1, df2], axis = 1) print (concat)
Výstup:
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 2005 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
Jak můžete výše, existuje spousta chybějících hodnot. K tomu dochází, protože datové rámce neměly hodnoty pro všechny indexy, ve kterých chcete zřetězit. Proto byste se měli ujistit, že máte všechny informace správně seřazené, když se připojíte nebo zřetězíte na ose.
Změňte index
Dále v tutoriálu pro python pandy pochopíme, jak změnit hodnoty indexu v datovém rámci. Například vytvořme datový rámec s párem klíčových hodnot ve slovníku a změňte hodnoty indexu. Zvažte následující příklad:
Podívejme se, jak se to vlastně děje:
importovat pandy jako pd df = pd.DataFrame ({'Day': [1,2,3,4], 'Visitors': [200, 100,230,300], 'Bounce_Rate': [20,45,60,10]}) df.set_index ('Day', inplace = True) print (df)
Výstup:
Bounce_Rate Návštěvníci Den 1 20 200 2 45 100 3 60 230 4 10 300
Jak si můžete všimnout ve výstupu výše, hodnota indexu byla změněna s ohledem na sloupec „Den“.
Změňte záhlaví sloupců
Pojďme nyní změnit záhlaví sloupců v tomto výukovém programu python pandas. Vezměme si stejný příklad, kde změním záhlaví sloupce z „Visitors“ na „Users“. Dovolte mi tedy, abych to provedl prakticky.
importovat pandy jako pd df = pd.DataFrame ({'Day': [1,2,3,4], 'Visitors': [200, 100,230,300], 'Bounce_Rate': [20,45,60,10]}) df = df.rename (columns = {'Visitors': 'Users'}) print (df)
Výstup:
Bounce_Rate Day Uživatelé 0 20 1 200 1 45 2 100 2 60 3 230 3 10 4 300
Jak vidíte výše, záhlaví sloupce „Návštěvníci“ bylo změněno na „Uživatelé“. Dále v tutoriálu python pand, pojďme provést munging dat.
Data Munging
V aplikaci Data munging můžete převést konkrétní data do jiného formátu. Například pokud máte soubor .csv, můžete jej také převést do formátu .html nebo do jiného datového formátu. Dovolte mi tedy, abych to provedl prakticky.
importujte pandy jako pd country = pd.read_csv ('D: UsersAayushiDownloadsworld-bank-youth-nezaměstnanostAPI_ILO_country_YU.csv', index_col = 0) country.to_html ('edu.html')
Po spuštění tohoto kódu bude vytvořen soubor HTML s názvem „edu.html“. Cestu k souboru můžete přímo zkopírovat a vložit do prohlížeče, který zobrazuje data ve formátu HTML. Viz níže uvedený snímek obrazovky:
Dále v tutoriálu python pand pojďme se podívat na případ použití, který hovoří o globální nezaměstnanosti mladých lidí.
Výukový program pro Python Pandas: Použít případ k analýze údajů o nezaměstnanosti mladých lidí
Problémové prohlášení :Dostanete datovou sadu, která Skládá se z procentního podílu nezaměstnaných mladých lidí na celém světě od roku 2010 do roku 2014. Musíte použít tento datový soubor a najít změnu v procentním podílu mladých lidí pro každou zemi od 2010-2011.
system.exit (0) java
Nejprve pochopme datovou sadu, která obsahuje sloupce jako Název země, Kód země a rok 2010 až 2014. Nyní pomocí pand použijeme „pd.read_csv“ ke čtení souboru ve formátu .csv.
Viz níže uvedený snímek obrazovky:
Pojďme dále a proveďme analýzu dat, ve které se chystáme zjistit procentuální změnu nezaměstnané mládeže v letech 2010 až 2011. Poté si to vizualizujeme pomocí knihovna, která je výkonnou knihovnou pro vizualizaci v Pythonu. Lze jej použít ve skriptech Pythonu, prostředí, na webových aplikačních serverech a v dalších sadách nástrojů grafického uživatelského rozhraní. Můžete si přečíst více zde:
Nyní implementujme kód v PyCharm:
importovat pandy jako pd import matplotlib.pyplot jako plt z matplotlib import style style.use ('fivethirtyeight') country = pd.read_csv ('D: UsersAayushiDownloadsworld-bank-youth-nezaměstnanostAPI_ILO_country_YU.csv', index_col = 0) df = země. head (5) df = df.set_index (['Country Code']) sd = sd.reindex (columns = ['2010', '2011']) db = sd.diff (axis = 1) db.plot (druh = 'bar') plt.show ()
Jak vidíte výše, provedl jsem analýzu v horních 5 řádcích datového rámce země. Dále jsem definoval hodnotu indexu jako „Country Code“ a poté znovu indexoval sloupec do roku 2010 a 2011. Pak máme ještě jeden datový rámec db, který vytiskne rozdíl mezi těmito dvěma sloupci nebo procentuální změnu nezaměstnané mládeže od roku 2010 do roku 2011. Nakonec jsem nakreslil barplot pomocí knihovny Matplotlib v Pythonu.
Pokud jste si nyní všimli výše uvedeného grafu, v Afghánistánu (AFG) došlo v letech 2010 až 2011 k nárůstu nezaměstnané mládeže o cca. 0,25%. V Angole (AGO) pak dochází k negativnímu trendu, což znamená, že se snížilo procento nezaměstnané mládeže. Podobně můžete provádět analýzu na různých sadách dat.
Doufám, že můj blog na téma „Výukový program pro Python Pandas“ byl pro vás relevantní. Chcete-li získat podrobné znalosti o pythonu a jeho různých aplikacích, můžete se zaregistrovat naživo od společnosti Edureka s nepřetržitou podporou a doživotním přístupem.
Máte na nás dotaz? Uveďte to prosím v sekci komentářů v tomto blogu „Výukový program pro Python Pandas“ a my se vám ozveme co nejdříve.