Analýza dat a vizualizace v Pythonu
Python je široce používán jako jazyk pro analýzu dat díky svým robustním knihovnám a nástrojům pro správu dat. Mezi tyto knihovny patří Pandas, které usnadňují manipulaci s průzkumem dat a analýzu. budeme používat pandy k analýze datové sady tzv Země-data.csv od Kaggle. Při práci s těmito daty také zavádíme některé důležité koncepty v Pandas.
1. Instalace
Nejjednodušší způsob, jak nainstalovat pandy, je použít pip:
Python pip install pandas
nebo si jej stáhněte z zde .
2. Vytvoření datového rámce v Pandas
A DataFrame je datová struktura podobná tabulce v Pandas, která má data uložená v řádcích a sloupcích. DataFrame lze vytvořit předáním více objektů python Series do DataFrame třída ( pd.DataFrame() ) pomocí pd.Series metoda. V tomto příkladu jsou použity dva objekty Series: s1 jako první řada a s2 jako druhá řada.
Příklad 1: Vytvoření DataFrame ze 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:
Příklad 2: DataFrame ze seznamu s vlastním indexem a názvy sloupců:
Python dataframe1 = pd . DataFrame ([[ 1 2 ] [ 'Ashish' 'Sid' ]] index = [ 'r1' 'r2' ] columns = [ 'c1' 'c2' ]) print ( dataframe1 )
výstup:
Příklad 3: DataFrame ze slovníku:
Python dataframe2 = pd . DataFrame ({ 'c1' : [ 1 'Ashish' ] 'c2' : [ 2 'Sid' ] }) print ( dataframe2 )
výstup:
3. Import dat pomocí Pandas
Prvním krokem je načtení dat. V našem případě jsou data uložena jako soubor CSV (Comma-Separated Values), kde je každý řádek oddělen novým řádkem a každý sloupec čárkou. Aby bylo možné s daty v Pythonu pracovat, je potřeba načíst csv soubor 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. Indexování datových rámců pomocí Pandas
Pandas poskytuje výkonné možnosti indexování. DataFrames můžete indexovat pomocí obou na základě polohy a na základě štítků metody.
Indexování na základě pozice (pomocí
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:
![]()
![]()
![]()
Indexování na základě štítků (pomocí
loc):S indexováním lze pracovat se štítky pomocí pandas.DataFrame.loc metoda, která umožňuje indexovat pomocí štítků místo pozic.
Pří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:
![]()
![]()
Výše uvedené se ve skutečnosti příliš neliší od df.iloc[0:5:]. Je to proto, že zatímco popisky řádků mohou nabývat libovolných hodnot, naše štítky řádků přesně odpovídají pozicím. Ale popisky sloupců mohou práci s daty značně usnadnit.Příklad:
Python# Prints the first 5 rows of Time period # value df . loc [: 5 'child_mort' ]výstup:
![]()
5. DataFrame Math s Pandas
Pandas usnadňuje provádění matematických operací s daty uloženými v datových rámcích. Operace, které lze na pandách provádět, jsou vektorizované, což znamená, že jsou rychlé a aplikují se automaticky na všechny prvky bez použití smyček.
Příklad – sloupcová 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:
![]()
Statistické funkce v Pandas:
Výpočet datových rámců lze provést pomocí statistických funkcí nástrojů pandas. Můžeme použít funkce jako:
-
df.sum()→ součet hodnot -
df.mean()→ průměr -
df.max()/df.min()→ maximální a minimální hodnoty -
df.describe()→ rychlý souhrn statistik
# computes various summary statistics excluding NaN values df . describe () # Provides sum of all the values for each column df . sum ()
výstup:
6. Vizualizace dat pomocí Pandas a Matplotlib
Pandas se velmi snadno používá Matplotlib výkonná knihovna používaná pro vytváření základních grafů a grafů. Pomocí několika řádků kódu můžeme vizualizovat naše data a lépe jim porozumět. Níže uvádíme několik jednoduchých příkladů, které vám pomohou začít s vykreslováním pomocí Pandas a Matplotlib:
Python # Import the library first import matplotlib.pyplot as plt
Histogram
Histogram zobrazuje rozložení hodnot ve sloupci.
Python df [ 'income' ] . hist ( bins = 10 ) plt . title ( 'Histogram of Income' ) plt . xlabel ( 'Income Value' ) plt . ylabel ( 'Frequency' ) plt . show ()
výstup:
Box Plot
A krabicová zápletka je užitečný k detekci odlehlých hodnot a pochopení šíření dat.
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ý spiknutí
A bodový graf ukazuje vztah mezi dvěma proměnný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:
Související článek:
- Představení pandy
- Vykreslování grafů v Pythonu
- Práce se soubory csv v Pythonu
- Pandas DataFrame
- Úvod do Matplotlib
- Histogram - Definice typů Graf a příklady
- Box Plot
- Bodový spiknutí