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:
Pythonpip install pandas
ili ga preuzmite s ovdje .
2. Stvaranje DataFramea u Pandas
A 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:
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)
Izlaz:
Primjer 2: DataFrame s popisa s prilagođenim indeksom i nazivima stupaca:
Pythondataframe1 = pd.DataFrame([[1 2] ['Ashish' 'Sid']] index=['r1' 'r2'] columns=['c1' 'c2']) print(dataframe1)
Izlaz:
Primjer 3: DataFrame iz rječnika:
Pythondataframe2 = pd.DataFrame({ 'c1': [1 'Ashish'] 'c2': [2 'Sid'] }) print(dataframe2)
Izlaz:
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.
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
Izlaz:
(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 ):
# 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:
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:
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:
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:
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 vrijednostidf.mean()→ prosjekdf.max()/df.min()→ max i min vrijednostidf.describe()→ brzi sažetak statistike
# computes various summary statistics excluding NaN values df.describe() # Provides sum of all the values for each column df.sum()
Izlaz:
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.
Pythondf['income'].hist(bins=10) plt.title('Histogram of Income') plt.xlabel('Income Value') plt.ylabel('Frequency') plt.show()
Izlaz:
Box Plot
A okvirna parcela koristan je za otkrivanje odstupanja i razumijevanje širenja podataka.
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()
Izlaz:
Dijagram raspršenosti
A dijagram raspršenosti pokazuje odnos između dvije varijable.
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()
Izlaz:
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