logo

Analiza podataka i vizualizacija s Pythonom

Python se naširoko koristi kao jezik za analizu podataka zbog svojih robusnih biblioteka i alata za upravljanje podacima. Među ovim bibliotekama je Pandas koja olakšava manipulaciju i analizu istraživanja podataka. koristit ćemo se  Pande  za analizu skupa podataka tzv  Country-data.csv  od Kagglea. Tijekom rada s ovim podacima također uvodimo neke važne koncepte u Pandas.

1. Instalacija

Najlakši način da instalirate pande je da koristite pip:

Python
pip install pandas 


ili ga preuzmite s  ovdje .



2. Stvaranje DataFramea u Pandas

DataFrame  je struktura podataka slična tablici u Pandasu koja ima podatke pohranjene u redovima i stupcima. DataFrame se može stvoriti prosljeđivanjem više objekata serije python u DataFrame razred ( pd.DataFrame() ) pomoću  pd.Series  metoda. U ovom primjeru koriste se dva objekta serije: s1 kao prvi red i s2 kao drugi red.

Primjer 1: Stvaranje DataFramea 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) 

Izlaz:

Analiza podataka i vizualizacija s Pythonom' title=

Primjer 2: DataFrame s popisa s prilagođenim indeksom i nazivima stupaca:

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

Izlaz:

Analiza podataka i vizualizacija s Pythonom' loading='lazy' title=

Primjer 3: DataFrame iz rječnika:

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

Izlaz:

Analiza podataka i vizualizacija s Pythonom' loading='lazy' title=

3. Uvoz podataka s Pandas

Prvi korak je čitanje podataka. U našem slučaju podaci su pohranjeni kao CSV (Comma-Separated Values) datoteka gdje je svaki red odvojen novim retkom, a svaki stupac zarezom. Da bi mogli raditi s podacima u Pythonu potrebno je čitati csv  datoteka  u 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 

Izlaz:

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

4. Indeksiranje DataFramesa s Pandama

Pandas pruža moćne mogućnosti indeksiranja. Možete indeksirati DataFrames koristeći oboje na temelju položaja i na temelju etikete metode.

Indeksiranje na temelju položaja (upotrebom 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] 

Izlaz:

Analiza podataka i vizualizacija s Pythonom' loading='lazy' title= Analiza podataka i vizualizacija s Pythonom' loading='lazy' title= Analiza podataka i vizualizacija s Pythonom' loading='lazy' title=

Indeksiranje na temelju oznaka (upotrebom loc ):

Indeksiranjem se može raditi s oznakama pomoću  pande.DataFrame.loc  metoda koja omogućuje indeksiranje korištenjem oznaka umjesto pozicija.

Primjeri:

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

Izlaz:

Analiza podataka i vizualizacija s Pythonom' loading='lazy' title= Analiza podataka i vizualizacija s Pythonom' loading='lazy' title=


Gore navedeno zapravo ne izgleda puno drugačije od df.iloc[0:5:]. To je zato što dok oznake redaka mogu poprimiti bilo koje vrijednosti, naše oznake redaka točno odgovaraju pozicijama. Ali oznake stupaca mogu znatno olakšati rad s podacima.

Primjer:

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

Izlaz:

Analiza podataka i vizualizacija s Pythonom' loading='lazy' title=

5. DataFrame Math s Pandas

Pandas olakšava izvođenje matematičkih operacija na podacima pohranjenim u podatkovnim okvirima. Operacije koje se mogu izvesti na pandama su vektorizirane što znači da su brze i automatski se primjenjuju na sve elemente bez upotrebe petlji.

Primjer - Matematika po stupcima:

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 

Izlaz:

Analiza podataka i vizualizacija s Pythonom' loading='lazy' title=

Statističke funkcije u Pandama:

primarni ključ i kompozitni ključ u sql-u

Izračun podatkovnih okvira može se izvršiti korištenjem statističkih funkcija pandas alata. Možemo koristiti funkcije poput:

  • df.sum() → zbroj vrijednosti
  • df.mean() → prosjek
  • df.max() / df.min() → max i min vrijednosti
  • df.describe() → brzi sažetak statistike
Python
# computes various summary statistics excluding NaN values df.describe() # Provides sum of all the values for each column df.sum() 

Izlaz:

Analiza podataka i vizualizacija s Pythonom' loading='lazy' title= Analiza podataka i vizualizacija s Pythonom' loading='lazy' title=

6. Vizualizacija podataka s Pandas i Matplotlib

Pandas je vrlo jednostavan za korištenje  Matplotlib moćna biblioteka koja se koristi za stvaranje osnovnih dijagrama i dijagrama. Sa samo nekoliko redaka koda možemo vizualizirati svoje podatke i bolje ih razumjeti. Ispod je nekoliko jednostavnih primjera koji će vam pomoći da počnete s crtanjem koristeći Pandas i Matplotlib:

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

Histogram

Histogram pokazuje distribuciju vrijednosti u stupcu.

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

Izlaz:

Analiza podataka i vizualizacija s Pythonom' loading='lazy' title=

Box Plot

okvirna parcela  koristan je za otkrivanje odstupanja i razumijevanje širenja podataka.

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

Izlaz:

Analiza podataka i vizualizacija s Pythonom' loading='lazy' title=

Dijagram raspršenosti

dijagram raspršenosti  pokazuje odnos između dvije varijable.

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

Izlaz:

Analiza podataka i vizualizacija s Pythonom' loading='lazy' title=

Povezani članak:

  • Pande Uvod
  • Iscrtavanje grafikona u Pythonu
  • Rad s csv datotekama u Pythonu
  • Pandas DataFrame
  • Uvod u Matplotlib
  • Histogram - Grafikon tipova definicija i primjeri
  • Box Plot
  • Dijagram raspršenosti


Napravi kviz