Analiza podataka i vizualizacija s Pythonom

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

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

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

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
 (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 Analiza podataka i vizualizacija s Pythonom Analiza podataka i vizualizacija s Pythonom

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 Analiza podataka i vizualizacija s Pythonom


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

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

Statističke funkcije u Pandama:

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 Analiza podataka i vizualizacija s Pythonom

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

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

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

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

Možda Će Vam Se Svidjeti