Analýza dát a vizualizácia s Pythonom
Python je široko používaný ako jazyk analýzy údajov vďaka jeho obsiahlym knižniciam a nástrojom na správu údajov. Medzi tieto knižnice patrí Pandas, ktorá uľahčuje manipuláciu s prieskumom údajov a analýzu. budeme používať pandy na analýzu súboru údajov tzv Country-data.csv od Kaggle. Pri práci s týmito údajmi tiež predstavíme niektoré dôležité koncepty v Pandas.
1. Inštalácia
Najjednoduchší spôsob, ako nainštalovať pandy, je použiť pip:
Python pip install pandas
alebo si ho stiahnite z tu .
2. Vytvorenie dátového rámca v Pandas
A DataFrame je dátová štruktúra podobná tabuľke v Pandas, ktorá má dáta uložené v riadkoch a stĺpcoch. DataFrame je možné vytvoriť odovzdaním viacerých objektov python Series do DataFrame trieda ( pd.DataFrame() ) pomocou pd.Series metóda. V tomto príklade sú použité dva objekty radu: s1 ako prvý riadok a s2 ako druhý rad.
Príklad 1: Vytvorenie dátového rámca zo série:
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 )
výstup:
Príklad 2: DataFrame zo zoznamu s vlastným indexom a názvami stĺpcov:
Python dataframe1 = pd . DataFrame ([[ 1 2 ] [ 'Ashish' 'Sid' ]] index = [ 'r1' 'r2' ] columns = [ 'c1' 'c2' ]) print ( dataframe1 )
výstup:
Príklad 3: DataFrame zo slovníka:
Python dataframe2 = pd . DataFrame ({ 'c1' : [ 1 'Ashish' ] 'c2' : [ 2 'Sid' ] }) print ( dataframe2 )
výstup:
3. Import údajov pomocou Pandy
Prvým krokom je načítanie údajov. V našom prípade sú údaje uložené ako súbor CSV (Comma-Separated Values), kde každý riadok je oddelený novým riadkom a každý stĺpec čiarkou. Aby bolo možné pracovať s údajmi v Pythone, je potrebné prečítať csv súbor do 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
výstup:
(167 10)4. Indexovanie dátových rámov s Pandas
Pandas poskytuje výkonné možnosti indexovania. DataFrames môžete indexovať pomocou oboch na základe polohy a na základe štítkov metódy.
Indexovanie na základe pozície (pomocou
Pythoniloc):# 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 ]výstup:
![]()
![]()
![]()
Indexovanie založené na štítkoch (pomocou
loc):S indexovaním je možné pracovať s menovkami pomocou pandas.DataFrame.loc metóda, ktorá umožňuje indexovanie pomocou štítkov namiesto pozícií.
Príklady:
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 ::]výstup:
![]()
![]()
Vyššie uvedené sa v skutočnosti veľmi nelíši od df.iloc[0:5:]. Je to preto, že zatiaľ čo označenia riadkov môžu nadobudnúť akékoľvek hodnoty, naše označenia riadkov sa presne zhodujú s pozíciami. Štítky stĺpcov však môžu prácu s údajmi značne zjednodušiť.Príklad:
Python# Prints the first 5 rows of Time period # value df . loc [: 5 'child_mort' ]výstup:
![]()
5. DataFrame Math s Pandas
Pandas uľahčuje vykonávanie matematických operácií s údajmi uloženými v dátových rámcoch. Operácie, ktoré možno vykonávať na pandách, sú vektorizované, čo znamená, že sú rýchle a aplikujú sa automaticky na všetky prvky bez použitia slučiek.
Príklad – stĺpcová matematika:
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 dfvýstup:
![]()
Štatistické funkcie v Pandách:
Výpočet dátových rámcov je možné vykonať pomocou štatistických funkcií nástrojov pandas. Môžeme použiť funkcie ako:
-
df.sum()→ súčet hodnôt -
df.mean()→ priemer -
df.max()/df.min()→ maximálne a minimálne hodnoty -
df.describe()→ rýchly súhrn štatistík
# computes various summary statistics excluding NaN values df . describe () # Provides sum of all the values for each column df . sum ()
výstup:
6. Vizualizácia dát pomocou Pandas a Matplotlib
Používanie Pandy je veľmi jednoduché Matplotlib výkonná knižnica používaná na vytváranie základných grafov a grafov. Len s niekoľkými riadkami kódu dokážeme vizualizovať naše údaje a lepšie im porozumieť. Nižšie je uvedených niekoľko jednoduchých príkladov, ktoré vám pomôžu začať s vykresľovaním pomocou Pandas a Matplotlib:
Python # Import the library first import matplotlib.pyplot as plt
Histogram
Histogram zobrazuje rozdelenie hodnôt v stĺpci.
Python df [ 'income' ] . hist ( bins = 10 ) plt . title ( 'Histogram of Income' ) plt . xlabel ( 'Income Value' ) plt . ylabel ( 'Frequency' ) plt . show ()
výstup:
Krabicový pozemok
A krabicová zápletka je užitočný na zistenie odľahlých hodnôt a pochopenie šírenia údajov.
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 ()
výstup:
Bodový graf
A bodový graf ukazuje vzťah medzi dvoma premennými.
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 ()
výstup:
Súvisiaci článok:
- Predstavenie pandy
- Vykresľovanie grafov v Pythone
- Práca so súbormi csv v Pythone
- DataFrame Pandas
- Úvod do Matplotlib
- Histogram - Definícia typov Graf a príklady
- Krabicový pozemok
- Bodový graf