Python används ofta som ett dataanalysspråk på grund av dess robusta bibliotek och verktyg för att hantera data. Bland dessa bibliotek finns Pandas som gör enklare datautforskning manipulation och analys. vi kommer att använda Pandas att analysera en datauppsättning som kallas Country-data.csv från Kaggle. När vi arbetar med denna data introducerar vi också några viktiga begrepp i Pandas.
1. Installation
Det enklaste sättet att installera pandor är att använda pip:
Pythonpip install pandas
eller ladda ner den från här .
2. Skapa en dataram i Pandas
A DataFrame är en tabellliknande datastruktur i Pandas som har data lagrad i rader och kolumner. En DataFrame kan skapas genom att skicka flera objekt i python-serien till DataFrame klass ( pd.DataFrame() ) med hjälp av pd.Series metod. I det här exemplet används två serieobjekt: s1 som första raden och s2 som andra raden.
Exempel 1: Skapa DataFrame från serier:
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)
Produktion:
Exempel 2: DataFrame från en lista med anpassade index- och kolumnnamn:
Pythondataframe1 = pd.DataFrame([[1 2] ['Ashish' 'Sid']] index=['r1' 'r2'] columns=['c1' 'c2']) print(dataframe1)
Produktion:
Exempel 3: DataFrame från en ordbok:
Pythondataframe2 = pd.DataFrame({ 'c1': [1 'Ashish'] 'c2': [2 'Sid'] }) print(dataframe2)
Produktion:
3. Importera data med pandor
Det första steget är att läsa data. I vårt fall lagras data som en CSV-fil (Comma-Separated Values) där varje rad separeras med en ny rad och varje kolumn med kommatecken. För att kunna arbeta med data i Python krävs att man läser csv fil till en 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
Produktion:
(167 10)4. Indexering av dataramar med pandor
Pandas ger kraftfulla indexeringsmöjligheter. Du kan indexera DataFrames med båda positionsbaserad och etikettbaserad metoder.
Positionsbaserad indexering (med 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]
Produktion:
Etikettbaserad indexering (med loc ):
Indexering kan utföras med etiketter med hjälp av pandas.DataFrame.loc metod som gör det möjligt att indexera med etiketter istället för positioner.
Exempel:
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::]
Produktion:
Ovanstående ser faktiskt inte mycket annorlunda ut från df.iloc[0:5:]. Detta beror på att även om radetiketter kan anta alla värden så matchar våra radetiketter positionerna exakt. Men kolumnetiketter kan göra saker mycket enklare när du arbetar med data.
Exempel:
Python# Prints the first 5 rows of Time period # value df.loc[:5'child_mort']
Produktion:
5. DataFrame Math med pandor
Pandas gör det enklare att utföra matematiska operationer på data som lagras i dataramar. Operationerna som kan utföras på pandor är vektoriserade vilket betyder att de är snabba och tillämpas automatiskt på alla element utan att använda loopar.
Exempel - Kolumnvis matematik:
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
Produktion:
Statistiska funktioner i pandor:
sträng ti int
Beräkning av dataramar kan göras med hjälp av statistiska funktioner för pandas verktyg. Vi kan använda funktioner som:
df.sum()→ summan av värdendf.mean()→ medeldf.max()/df.min()→ max- och minvärdendf.describe()→ snabb statistiksammanfattning
# computes various summary statistics excluding NaN values df.describe() # Provides sum of all the values for each column df.sum()
Produktion:
6. Datavisualisering med Pandas och Matplotlib
Pandas är väldigt lätta att använda med Matplotlib ett kraftfullt bibliotek som används för att skapa grundläggande plotter och diagram. Med bara några rader kod kan vi visualisera vår data och förstå den bättre. Nedan följer några enkla exempel som hjälper dig att komma igång med att plotta med Pandas och Matplotlib:
Python# Import the library first import matplotlib.pyplot as plt
Histogram
Ett histogram visar fördelningen av värden i en kolumn.
Pythondf['income'].hist(bins=10) plt.title('Histogram of Income') plt.xlabel('Income Value') plt.ylabel('Frequency') plt.show()
Produktion:
Box Plot
A box tomt är användbart för att upptäcka extremvärden och förstå dataspridning.
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()
Produktion:
Scatter Plot
A spridningsdiagram visar sambandet mellan två variabler.
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()
Produktion:
Relaterad artikel:
- Pandas Introduktion
- Grafritning i Python
- Arbeta med csv-filer i Python
- Pandas DataFrame
- Introduktion till Matplotlib
- Histogram - Definitionstyper Graf och exempel
- Box Plot
- Scatter Plot