logo

Analiza podatkov in vizualizacija s Pythonom

Python se široko uporablja kot jezik za analizo podatkov zaradi robustnih knjižnic in orodij za upravljanje podatkov. Med temi knjižnicami je Pandas, ki olajša manipulacijo in analizo raziskovanja podatkov. bomo uporabili  Pande  za analizo nabora podatkov, imenovanega  Country-data.csv  od Kaggle. Med delom s temi podatki uvajamo tudi nekaj pomembnih konceptov v Pandas.

1. Namestitev

Najlažji način za namestitev pand je uporaba pipa:

Python
pip install pandas 


ali ga prenesite iz  tukaj .



2. Ustvarjanje DataFrame v Pandas

DataFrame  je tabeli podobna podatkovna struktura v Pandas, ki ima podatke shranjene v vrsticah in stolpcih. DataFrame je mogoče ustvariti s posredovanjem več objektov serije python v DataFrame razred ( pd.DataFrame() ) z uporabo  pd.Series  metoda. V tem primeru sta uporabljena dva predmeta serije: s1 kot prva vrsta in s2 kot druga vrsta.

Primer 1: Ustvarjanje DataFrame iz serije:

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) 

Izhod:

Analiza podatkov in vizualizacija s Pythonom' title=

Primer 2: DataFrame s seznama z indeksom po meri in imeni stolpcev:

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

Izhod:

Analiza podatkov in vizualizacija s Pythonom' loading='lazy' title=

Primer 3: DataFrame iz slovarja:

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

Izhod:

Analiza podatkov in vizualizacija s Pythonom' loading='lazy' title=

3. Uvažanje podatkov s programom Pandas

Prvi korak je branje podatkov. V našem primeru so podatki shranjeni kot datoteka CSV (vrednosti, ločene z vejico), kjer je vsaka vrstica ločena z novo vrstico in vsak stolpec z vejico. Da bi lahko delali s podatki v Pythonu, je potrebno prebrati csv  datoteka  v 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 

Izhod:

glavo' loading='lazy' title=
(167 10)

4. Indeksiranje DataFrames s Pandas

Pandas ponuja zmogljive zmožnosti indeksiranja. DataFrames lahko indeksirate z uporabo obeh na podlagi položaja in na podlagi etikete metode.

Indeksiranje na podlagi položaja (uporaba 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] 

Izhod:

Analiza podatkov in vizualizacija s Pythonom' loading='lazy' title= Analiza podatkov in vizualizacija s Pythonom' loading='lazy' title= Analiza podatkov in vizualizacija s Pythonom' loading='lazy' title=

Indeksiranje na podlagi oznak (uporaba loc ):

Indeksiranje je mogoče izvajati z oznakami z uporabo  pandas.DataFrame.loc  metoda, ki omogoča indeksiranje z uporabo oznak namesto pozicij.

Primeri:

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::] 

Izhod:

Analiza podatkov in vizualizacija s Pythonom' loading='lazy' title= Analiza podatkov in vizualizacija s Pythonom' loading='lazy' title=


Zgoraj se dejansko ne razlikuje veliko od df.iloc[0:5:]. To je zato, ker medtem ko lahko oznake vrstic prevzamejo poljubne vrednosti, se naše oznake vrstic natančno ujemajo s položaji. Toda oznake stolpcev lahko precej olajšajo delo s podatki.

primer:

Python
# Prints the first 5 rows of Time period # value  df.loc[:5'child_mort'] 

Izhod:

Analiza podatkov in vizualizacija s Pythonom' loading='lazy' title=

5. DataFrame Math s Pandas

Pandas olajša izvajanje matematičnih operacij na podatkih, shranjenih v podatkovnih okvirih. Operacije, ki jih je mogoče izvajati na pandah, so vektorizirane, kar pomeni, da so hitre in se samodejno uporabljajo za vse elemente brez uporabe zank.

Primer – matematika po stolpcih:

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 

Izhod:

Analiza podatkov in vizualizacija s Pythonom' loading='lazy' title=

Statistične funkcije v Pandas:

razlika med lisico in volkom

Izračun podatkovnih okvirov je mogoče izvesti z uporabo statističnih funkcij orodij pandas. Uporabimo lahko funkcije, kot so:

  • df.sum() → vsota vrednosti
  • df.mean() → povprečje
  • df.max() / df.min() → max in min vrednosti
  • df.describe() → hiter povzetek statistike
Python
# computes various summary statistics excluding NaN values df.describe() # Provides sum of all the values for each column df.sum() 

Izhod:

Analiza podatkov in vizualizacija s Pythonom' loading='lazy' title= Analiza podatkov in vizualizacija s Pythonom' loading='lazy' title=

6. Vizualizacija podatkov s Pandas in Matplotlib

Pandas je zelo enostaven za uporabo  Matplotlib zmogljiva knjižnica, ki se uporablja za ustvarjanje osnovnih risb in grafikonov. Z le nekaj vrsticami kode lahko vizualiziramo svoje podatke in jih bolje razumemo. Spodaj je nekaj preprostih primerov, ki vam bodo pomagali začeti risati z uporabo Pandas in Matplotlib:

Python
# Import the library first import matplotlib.pyplot as plt 

Histogram

Histogram prikazuje porazdelitev vrednosti v stolpcu.

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

Izhod:

Analiza podatkov in vizualizacija s Pythonom' loading='lazy' title=

Box Plot

škatlasta parcela  je koristen za odkrivanje izstopajočih vrednosti in razumevanje širjenja podatkov.

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

Izhod:

Analiza podatkov in vizualizacija s Pythonom' loading='lazy' title=

Razpršeni prikaz

razpršena ploskev  prikazuje razmerje med dvema spremenljivkama.

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

Izhod:

Analiza podatkov in vizualizacija s Pythonom' loading='lazy' title=

Sorodni članek:

  • Pande Uvod
  • Risanje grafov v Pythonu
  • Delo z datotekami csv v Pythonu
  • Pandas DataFrame
  • Uvod v Matplotlib
  • Histogram – Definicija Vrste Graf in Primeri
  • Box Plot
  • Razpršeni prikaz


Ustvari kviz