logo

Dataanalys och visualisering med Python

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:

Python
pip install pandas 


eller ladda ner den från  här .



2. Skapa en dataram i Pandas

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:

Python
import 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:

Dataanalys och visualisering med Python' title=

Exempel 2: DataFrame från en lista med anpassade index- och kolumnnamn:

Python
dataframe1 = pd.DataFrame([[1 2] ['Ashish' 'Sid']] index=['r1' 'r2'] columns=['c1' 'c2']) print(dataframe1) 

Produktion:

Dataanalys och visualisering med Python' loading='lazy' title=

Exempel 3: DataFrame från en ordbok:

Python
dataframe2 = pd.DataFrame({ 'c1': [1 'Ashish'] 'c2': [2 'Sid'] }) print(dataframe2) 

Produktion:

Dataanalys och visualisering med Python' loading='lazy' title=

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.

Python
import 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:

huvud' loading='lazy' title=
(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 ):

Python
# 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:

Dataanalys och visualisering med Python' loading='lazy' title= Dataanalys och visualisering med Python' loading='lazy' title= Dataanalys och visualisering med Python' loading='lazy' title=

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:

Dataanalys och visualisering med Python' loading='lazy' title= Dataanalys och visualisering med Python' loading='lazy' title=


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:

Dataanalys och visualisering med Python' loading='lazy' title=

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:

Dataanalys och visualisering med Python' loading='lazy' title=

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ärden
  • df.mean() → medel
  • df.max() / df.min() → max- och minvärden
  • df.describe() → snabb statistiksammanfattning
Python
# computes various summary statistics excluding NaN values df.describe() # Provides sum of all the values for each column df.sum() 

Produktion:

Dataanalys och visualisering med Python' loading='lazy' title= Dataanalys och visualisering med Python' loading='lazy' title=

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.

Python
df['income'].hist(bins=10) plt.title('Histogram of Income') plt.xlabel('Income Value') plt.ylabel('Frequency') plt.show() 

Produktion:

Dataanalys och visualisering med Python' loading='lazy' title=

Box Plot

box tomt  är användbart för att upptäcka extremvärden och förstå dataspridning.

Python
df = 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:

Dataanalys och visualisering med Python' loading='lazy' title=

Scatter Plot

spridningsdiagram  visar sambandet mellan två variabler.

Python
x = 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:

Dataanalys och visualisering med Python' loading='lazy' title=

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


Skapa frågesport