Python Pandas-zelfstudie: leer panda's voor gegevensanalyse



In deze Python Pandas-tutorial leer je de verschillende bewerkingen van Panda's. Het bevat ook een use-case, waar u de gegevens kunt analyseren met Panda's.

In deze blog gaan we in op data-analyse met Panda's in Python.Vandaag, is een populaire vaardigheid in de branche die PHP in 2017 en C # in 2018 overtrof in termen van algehele populariteit en gebruik.Voordat je over Panda's praat, moet je het concept van Numpy-arrays begrijpen. Waarom? Omdat Pandas een open source softwarebibliotheek is die bovenop is gebouwd . In deze Python Pandas-zelfstudie zal ik je door de volgende onderwerpen leiden, die als basis zullen dienen voor de aankomende blogs:

Laten we beginnen. :-)





Wat is Python Panda's?

Panda's worden gebruikt voor datamanipulatie, analyse en opschoning. Python-panda's zijn zeer geschikt voor verschillende soorten gegevens, zoals:

  • Tabelgegevens met heterogeen getypeerde kolommen
  • Geordende en ongeordende tijdreeksgegevens
  • Willekeurige matrixgegevens met rij- en kolomlabels
  • Gegevens zonder label
  • Elke andere vorm van observationele of statistische gegevenssets

Hoe Panda's installeren?

Om Python Pandas te installeren, ga je naar je command line / terminal en typ je 'pip install pandas' of, als je anaconda op je systeem geïnstalleerd hebt, typ je gewoon 'conda install pandas'. Zodra de installatie is voltooid, gaat u naar uw IDE (Jupyter, PyCharm etc.) en importeert u deze eenvoudig door te typen: 'import panda's als pd'



Laten we verder gaan in de Python-panda's-tutorial, laten we eens kijken naar enkele van de bewerkingen:

Python Pandas-operaties

Door Python-panda's te gebruiken, kun je veel bewerkingen uitvoeren met reeksen, dataframes, ontbrekende gegevens, groeperen op etc. Enkele van de algemene bewerkingen voor datamanipulatie worden hieronder opgesomd:



PandasOperations - Python Panda

Laten we nu al deze bewerkingen een voor een begrijpen.

Het dataframe snijden

Om gegevens op te splitsen, hebt u een gegevensframe nodig. Maakt u zich geen zorgen, dataframe is een tweedimensionale datastructuur en een meest voorkomende panda's-object. Laten we dus eerst een dataframe maken.

Raadpleeg de onderstaande code voor de implementatie ervan in PyCharm:

importeer panda's als pd XYZ_web = {'Dag': [1,2,3,4,5,6], 'Bezoekers': [1000, 700,6000,1000,400,350], 'Bounce_Rate': [20,20, 23,15,10,34]} df = pd.DataFrame (XYZ_web) afdruk (df)

Uitvoer :

Bounce_Rate Dag Bezoekers 0 20 1 1000 1 20 2700 2 23 3 6000 3 15 4 1000 4 10 5400 5 34 6350

De bovenstaande code zal een woordenboek omzetten in een pandas-dataframe, samen met de index aan de linkerkant. Laten we nu een bepaalde kolom uit dit dataframe snijden. Raadpleeg de onderstaande afbeelding:

print (df.kop (2))

Uitgang:

Bounce_Rate Dagbezoekers 0 20 1 1000 1 20 2700

Evenzo, als u de laatste twee rijen met gegevens wilt, typt u de onderstaande opdracht:

print (df.tail (2))

Uitgang:

Bounce_Rate Dagbezoekers 4 10 5400 5 34 6350

Laten we vervolgens in de Python Pandas-zelfstudie samenvoegen en samenvoegen uitvoeren.

Samenvoegen en samenvoegen

Bij het samenvoegen kunt u twee dataframes samenvoegen tot één dataframe. U kunt ook beslissen welke kolommen u gemeenschappelijk wilt maken. Laat me dat praktisch implementeren, ik zal eerst drie dataframes maken, die enkele sleutel-waardeparen hebben en vervolgens de dataframes samenvoegen. Raadpleeg de onderstaande code:

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

Uitgang:

importeer panda's als 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 (samengevoegd)

Zoals u hierboven kunt zien, zijn de twee dataframes samengevoegd tot één dataframe. Nu kunt u ook de kolom specificeren die u gemeenschappelijk wilt maken. Ik wil bijvoorbeeld dat de 'HPI' -kolom gemeenschappelijk is en voor al het andere wil ik afzonderlijke kolommen. Dus laat me dat praktisch implementeren:

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

Uitgang:

IND_GDP Int_Rate Low_Tier_HPI Werkloosheid 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

Laten we het vervolgens begrijpen toetreden in python panda's tutorial. Het is nog een andere handige methode om twee verschillend geïndexeerde dataframes te combineren tot een enkel resultaatdataframe. Dit lijkt veel op de 'samenvoegen' -bewerking, behalve dat de samenvoegbewerking op de 'index' zal staan ​​in plaats van op de 'kolommen'. Laten we het praktisch implementeren.

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], 'Werkloosheid': [1,3,5,6]}, index = [2001, 2003,2004,2004]) is lid geworden van = df1. join (df2) print (toegetreden)

Uitgang:

IND_GDP Int_Rate Low_Tier_HPI Werkloosheid 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

Zoals je kunt zien in de bovenstaande uitvoer, is er in het jaar 2002 (index) geen waarde toegekend aan de kolommen 'low_tier_HPI' en 'werkloosheid', daarom is er NaN (geen getal) afgedrukt. Later in 2004 zijn beide waarden beschikbaar, daarom heeft het de respectieve waarden afgedrukt.

Je kunt deze opname van Python Pandas-tutorial doornemen, waar onze instructeur de onderwerpen op een gedetailleerde manier heeft uitgelegd met voorbeelden die je zullen helpen dit concept beter te begrijpen.

Python voor gegevensanalyse | Python Pandas-zelfstudie | Python-training | Edureka

wat doet tostring in java


Laten we verder gaan in de Python-panda's-zelfstudie, laten we begrijpen hoe we twee dataframes kunnen samenvoegen.

Aaneenschakeling

Concatenation lijmt in feite de dataframes aan elkaar. U kunt de dimensie selecteren waarop u wilt samenvoegen. Gebruik daarvoor gewoon 'pd.concat' en geef de lijst met dataframes door om samen te voegen. Beschouw het onderstaande voorbeeld.

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]) print (concat)

Uitgang:

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

Zoals u hierboven kunt zien, worden de twee dataframes aan elkaar gelijmd in een enkel dataframe, waar de index start van 2001 tot 2008. Vervolgens kunt u ook axis = 1 specificeren om samen te voegen, samen te voegen of te annuleren langs de kolommen. Raadpleeg de onderstaande code:

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)

Uitgang:

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

Zoals je hierboven kunt zien, zijn er een heleboel ontbrekende waarden. Dit gebeurt omdat de dataframes geen waarden hadden voor alle indexen waarop u wilt samenvoegen. Daarom moet u ervoor zorgen dat alle informatie correct is uitgelijnd wanneer u samenvoegt of aaneenschakelt op de as.

Verander de index

Vervolgens in de zelfstudie over python-panda's, zullen we begrijpen hoe we de indexwaarden in een dataframe kunnen wijzigen. Laten we bijvoorbeeld een dataframe maken met enkele sleutelwaardeparen in een woordenboek en de indexwaarden wijzigen. Beschouw het onderstaande voorbeeld:

Laten we eens kijken hoe het werkelijk gebeurt:

importeer panda's als 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)

Uitgang:

Bounce_Rate Bezoekers Dag 1 20200 2 45100 3 60230 4 10300

Zoals u kunt zien in de uitvoer hierboven, is de indexwaarde gewijzigd ten opzichte van de kolom “Dag”.

Wijzig de kolomkoppen

Laten we nu de kopteksten van de kolom wijzigen in deze zelfstudie over pythonpanda's. Laten we hetzelfde voorbeeld nemen, waar ik de kolomkop zal veranderen van 'Bezoekers' in 'Gebruikers'. Dus laat me het praktisch implementeren.

importeer panda's als pd df = pd.DataFrame ({'Day': [1,2,3,4], 'Visitors': [200, 100,230,300], 'Bounce_Rate': [20,45,60,10]}) df = df.rename (columns = {'Bezoekers': 'Gebruikers'}) print (df)

Uitgang:

Bounce_Rate Daggebruikers 0 20 1200 1 45 2100 2 60 3230 3 10 4300

Zoals u hierboven ziet, is de kolomkop “Bezoekers” gewijzigd in “Gebruikers”. Laten we vervolgens in de zelfstudie van python-panda's gegevensmunging uitvoeren.

Data Munging

In Data munging kunt u bepaalde data naar een ander formaat converteren. Als u bijvoorbeeld een .csv-bestand heeft, kunt u dit ook naar .html of een ander gegevensformaat converteren. Dus laat me dit praktisch implementeren.

importeer panda's als pd country = pd.read_csv ('D: UsersAayushiDownloadsworld-bank-youth-werkloosheidAPI_ILO_country_YU.csv', index_col = 0) country.to_html ('edu.html')

Nadat u deze code heeft uitgevoerd, wordt een HTML-bestand gemaakt met de naam 'edu.html'. U kunt het pad van het bestand rechtstreeks kopiëren en in uw browser plakken, zodat de gegevens in HTML-indeling worden weergegeven. Raadpleeg de onderstaande schermafbeelding:


Laten we vervolgens in de tutorial met python panda's eens kijken naar een use-case die gaat over de wereldwijde jeugdwerkloosheid.

Python Pandas-zelfstudie: use case om gegevens over jeugdwerkloosheid te analyseren

Probleemstelling :U krijgt een dataset die omvat het percentage werkloze jongeren wereldwijd van 2010 tot 2014. U moet deze dataset gebruiken en de verandering in het percentage jongeren voor elk land van 2010-2011 vinden.

Laten we eerst de dataset begrijpen die de kolommen als landnaam, landcode en het jaar 2010 tot 2014 bevat. Nu we panda's gebruiken, zullen we “pd.read_csv” gebruiken om het .csv-bestandsformaat te lezen.
Raadpleeg de onderstaande schermafbeelding:

Laten we verder gaan en data-analyse uitvoeren waarin we de procentuele verandering in de werkloze jongeren tussen 2010 en 2011 gaan ontdekken. Vervolgens zullen we hetzelfde visualiseren met bibliotheek, een krachtige bibliotheek voor visualisatie in Python. Het kan worden gebruikt in Python-scripts, shell, webtoepassingsservers en andere GUI-toolkits. U kunt hier meer lezen:

Laten we nu de code in PyCharm implementeren:

importeer panda's als pd importeer matplotlib.pyplot als plt uit matplotlib import style style.use ('fivethirtyeight') country = pd.read_csv ('D: UsersAayushiDownloadsworld-bank-youth-werkloosheidAPI_ILO_country_YU.csv', index_col = 0) df = country. head (5) df = df.set_index (['Country Code']) sd = sd.reindex (columns = ['2010', '2011']) db = sd.diff (axis = 1) db.plot (kind = 'bar') plt.show ()

Zoals u hierboven kunt zien, heb ik de analyse uitgevoerd op de bovenste 5 rijen van het dataframe van het land. Vervolgens heb ik een indexwaarde gedefinieerd als 'Landcode' en vervolgens de kolom opnieuw indexeren naar 2010 en 2011. Dan hebben we nog een dataframe db, die het verschil tussen de twee kolommen of de procentuele verandering van werkloze jongeren afdrukt van 2010 tot 2011. Ten slotte heb ik een barplot geplot met de Matplotlib-bibliotheek in Python.


Als je nu in het bovenstaande plot hebt opgemerkt, in Afghanistan (AFG) tussen 2010 en 2011, is er een stijging van het aantal werkloze jongeren met ongeveer. 0,25%. Vervolgens is er in Angola (AGO) een negatieve trend, wat betekent dat het percentage werkloze jongeren is gedaald. Op dezelfde manier kunt u analyses uitvoeren op verschillende sets gegevens.

Ik hoop dat mijn blog over 'Python Pandas Tutorial' relevant voor je was. Om diepgaande kennis op te doen over python en de verschillende toepassingen, kunt u zich live inschrijven door Edureka met 24/7 ondersteuning en levenslange toegang.

Heeft u een vraag voor ons? Vermeld het in het commentaargedeelte van deze “Python Pandas tutorial” blog en we nemen zo snel mogelijk contact met je op.