Python wordt veel gebruikt als data-analysetaal vanwege de robuuste bibliotheken en tools voor het beheren van gegevens. Een van deze bibliotheken is Pandas, wat de manipulatie en analyse van gegevensverkenning eenvoudiger maakt. wij zullen gebruiken Panda's om een dataset te analyseren genaamd Landgegevens.csv van Kaggle. Terwijl we met deze gegevens werken, introduceren we ook enkele belangrijke concepten in Pandas.
1. Installatie
De eenvoudigste manier om panda's te installeren is door pip te gebruiken:
Pythonpip install pandas
of Download het van hier .
2. Een dataframe maken in Panda's
A Gegevensframe is een tabelachtige gegevensstructuur in Pandas waarin gegevens zijn opgeslagen in rijen en kolommen. Een DataFrame kan worden gemaakt door meerdere Python Series-objecten door te geven aan de DataFrame klas ( pd.DataFrame() ) met behulp van de pd.Series methode. In dit voorbeeld worden twee Series-objecten gebruikt: s1 als de eerste rij en s2 als de tweede rij.
Voorbeeld 1: DataFrame maken uit series:
Pythonimport pandas as pd # Creating two Series: s1 (numbers) and s2 (names) s1 = pd.Series([1 2]) s2 = pd.Series(['Ashish' 'Sid']) # Creating DataFrame by combining Series as rows dataframe = pd.DataFrame([s1 s2]) # Displaying the DataFrame print(dataframe)
Uitgang:
Voorbeeld 2: DataFrame uit een lijst met aangepaste index- en kolomnamen:
Pythondataframe1 = pd.DataFrame([[1 2] ['Ashish' 'Sid']] index=['r1' 'r2'] columns=['c1' 'c2']) print(dataframe1)
Uitgang:
Voorbeeld 3: DataFrame uit een woordenboek:
Pythondataframe2 = pd.DataFrame({ 'c1': [1 'Ashish'] 'c2': [2 'Sid'] }) print(dataframe2)
Uitgang:
3. Gegevens importeren met Panda's
De eerste stap is het lezen van de gegevens. In ons geval worden de gegevens opgeslagen als een CSV-bestand (Comma-Separated Values), waarbij elke rij wordt gescheiden door een nieuwe regel en elke kolom door een komma. Om met de data in Python te kunnen werken is het nodig om de csv te lezen bestand in een Pandas DataFrame.
Pythonimport pandas as pd # Read Country-data.csv into a DataFrame df = pd.read_csv('Country-data.csv') # Prints the first 5 rows of a DataFrame as default df.head() # Prints no. of rows and columns of a DataFrame df.shape
Uitgang:
(167 10)4. DataFrames indexeren met Panda's
Pandas biedt krachtige indexeringsmogelijkheden. U kunt DataFrames met beide indexeren op positie gebaseerd En op etiket gebaseerd methoden.
Positiegebaseerde indexering (met behulp van iloc ):
# prints first 5 rows and every column which replicates df.head() df.iloc[0:5:] # prints entire rows and columns df.iloc[::] # prints from 5th rows and first 5 columns df.iloc[5::5]
Uitgang:
Op labels gebaseerde indexering (met behulp van loc ):
U kunt indexeren met labels met behulp van de pandas.DataFrame.loc methode die het mogelijk maakt om te indexeren met behulp van labels in plaats van posities.
Voorbeelden:
Python# prints first five rows including 5th index and every columns of df df.loc[0:5:] # prints from 5th rows onwards and entire columns df.loc[5::]
Uitgang:
Het bovenstaande ziet er eigenlijk niet veel anders uit dan df.iloc[0:5:]. Dit komt omdat, hoewel rijlabels elke waarde kunnen aannemen, onze rijlabels exact overeenkomen met de posities. Maar kolomlabels kunnen het werken met gegevens veel eenvoudiger maken.
Voorbeeld:
Python# Prints the first 5 rows of Time period # value df.loc[:5'child_mort']
Uitgang:
5. DataFrame-wiskunde met panda's
Pandas maakt het eenvoudiger om wiskundige bewerkingen uit te voeren op de gegevens die zijn opgeslagen in dataframes. De bewerkingen die op panda's kunnen worden uitgevoerd, zijn gevectoriseerd, wat betekent dat ze snel zijn en automatisch op alle elementen worden toegepast, zonder gebruik te maken van lussen.
Voorbeeld - Wiskunde in kolommen:
Python# Adding 5 to every element in column A df['child_mort'] = df['child_mort'] + 5 # Multiplying values in column B by 10 df['exports'] = df['exports'] * 10 df
Uitgang:
Statistische functies in panda’s:
8 naar 1 multiplexer
Berekening van dataframes kan worden gedaan met behulp van statistische functies van panda-tools. We kunnen functies gebruiken zoals:
df.sum()→ som van waardendf.mean()→ gemiddelddf.max()/df.min()→ maximale en minimale waardendf.describe()→ snelle samenvatting van statistieken
# computes various summary statistics excluding NaN values df.describe() # Provides sum of all the values for each column df.sum()
Uitgang:
6. Gegevensvisualisatie met Panda's en Matplotlib
Panda's is heel gemakkelijk te gebruiken Matplotlib een krachtige bibliotheek die wordt gebruikt voor het maken van basisplots en grafieken. Met slechts een paar regels code kunnen we onze gegevens visualiseren en beter begrijpen. Hieronder staan enkele eenvoudige voorbeelden om u op weg te helpen met plotten met Pandas en Matplotlib:
Python# Import the library first import matplotlib.pyplot as plt
Histogram
Een histogram toont de verdeling van waarden in een kolom.
Pythondf['income'].hist(bins=10) plt.title('Histogram of Income') plt.xlabel('Income Value') plt.ylabel('Frequency') plt.show()
Uitgang:
Boxplot
A boxplot is nuttig om uitschieters te detecteren en de gegevensspreiding te begrijpen.
Pythondf = df.head(10) plt.figure(figsize=(20 6)) # Increase width to make x-axis labels clearer df.boxplot(column='imports' by='country') plt.title('Boxplot by Country') plt.suptitle('') # Removes default title plt.xlabel('Country') plt.ylabel('Imports') plt.xticks(rotation=45) # Optional: Rotate x-axis labels for better visibility plt.tight_layout() # Adjust layout to avoid clipping plt.show()
Uitgang:
Verspreidingsdiagram
A spreidingsdiagram toont de relatie tussen twee variabelen.
Pythonx = df['health'] y = df['life_expec'] plt.scatter(x y label='Data Points' color='m' marker='*' s=30) plt.xlabel('Health') plt.ylabel('Life Expectancy') plt.title('Scatter Plot of Health vs Life Expectancy') plt.legend() plt.show()
Uitgang:
Gerelateerd artikel:
- Panda's Introductie
- Grafieken plotten in Python
- Werken met csv-bestanden in Python
- Panda's DataFrame
- Inleiding tot Matplotlib
- Histogram - Definitietypen Grafiek en voorbeelden
- Boxplot
- Verspreidingsdiagram