Analýza dat pomocí Pythonu

V tomto článku budeme diskutovat o tom, jak provádět analýzu dat pomocí Pythonu. Budeme diskutovat o všech druzích analýzy dat, tj. analýze numerických dat pomocí NumPy, tabulkových dat s Pandas, vizualizaci dat Matplotlib a Exploratory datové analýzy.

Analýza dat s Pythonem

Analýza dat je technika shromažďování, transformace a organizování dat za účelem předvídání budoucnosti a informovaných rozhodnutí na základě dat. Pomáhá také najít možná řešení obchodního problému. Analýza dat má šest kroků. Oni jsou:

  • Zeptejte se nebo specifikujte požadavky na data
  • Připravte nebo shromážděte data
  • Čistit a zpracovávat
  • Analyzovat
  • Podíl
  • Jednat nebo nahlásit

Analýza dat pomocí Pythonu



Poznámka: Chcete-li se o těchto krocích dozvědět více, podívejte se na naše NumPy je balíček pro zpracování polí v Pythonu a poskytuje vysoce výkonný vícerozměrný objekt pole a nástroje pro práci s těmito poli. Je to základní balíček pro vědecké výpočty s Pythonem.

Pole v NumPy

NumPy Array je tabulka prvků (obvykle čísel), všech stejných typů, indexovaných n-ticí kladných celých čísel. V Numpy se počet rozměrů pole nazývá hodnost pole. N-tice celých čísel udávajících velikost pole podél každé dimenze se nazývá tvar pole.

Vytváření NumPy Array

Pole NumPy lze vytvořit několika způsoby, s různými úrovněmi. Může být také vytvořen s použitím různých datových typů, jako jsou seznamy, n-tice atd. Typ výsledného pole je odvozen z typu prvků v sekvencích. NumPy nabízí několik funkcí pro vytváření polí s počátečním zástupným obsahem. Ty minimalizují nutnost rozšiřování polí, což je nákladná operace.

Vytvořte pole pomocí numpy.empty(shape, dtype=float, order=’C’)

Python3
import numpy as np b = np.empty(2, dtype = int) print('Matrix b : 
', b) a = np.empty([2, 2], dtype = int) print('
Matrix a : 
', a) c = np.empty([3, 3]) print('
Matrix c : 
', c) 

Výstup:

Vyprázdněte Matrix pomocí pand

Vyprázdněte Matrix pomocí pand

Vytvořte pole pomocí numpy.zeros(shape, dtype = None, order = ‘C’)

Python3
import numpy as np b = np.zeros(2, dtype = int) print('Matrix b : 
', b) a = np.zeros([2, 2], dtype = int) print('
Matrix a : 
', a) c = np.zeros([3, 3]) print('
Matrix c : 
', c) 

Výstup:

Matrix b :   [0 0]  Matrix a :   [[0 0]  [0 0]]  Matrix c :   [[0. 0. 0.]  [0. 0. 0.]  [0. 0. 0.]] 

Operace na Numpy Arrays

Aritmetické operace

  • Přidání:
Python3
import numpy as np # Defining both the matrices a = np.array([5, 72, 13, 100]) b = np.array([2, 5, 10, 30]) # Performing addition using arithmetic operator add_ans = a+b print(add_ans) # Performing addition using numpy function add_ans = np.add(a, b) print(add_ans) # The same functions and operations can be used for # multiple matrices c = np.array([1, 2, 3, 4]) add_ans = a+b+c print(add_ans) add_ans = np.add(a, b, c) print(add_ans) 

Výstup:

[ 7 77 23 130] [ 7 77 23 130] [ 8 79 26 134] [ 7 77 23 130] 
  • Odčítání:
Python3
import numpy as np # Defining both the matrices a = np.array([5, 72, 13, 100]) b = np.array([2, 5, 10, 30]) # Performing subtraction using arithmetic operator sub_ans = a-b print(sub_ans) # Performing subtraction using numpy function sub_ans = np.subtract(a, b) print(sub_ans) 

Výstup:

[ 3 67 3 70] [ 3 67 3 70] 
  • Násobení:
Python3
import numpy as np # Defining both the matrices a = np.array([5, 72, 13, 100]) b = np.array([2, 5, 10, 30]) # Performing multiplication using arithmetic # operator mul_ans = a*b print(mul_ans) # Performing multiplication using numpy function mul_ans = np.multiply(a, b) print(mul_ans) 

Výstup:

[ 10 360 130 3000] [ 10 360 130 3000] 
  • Divize:
Python3
import numpy as np # Defining both the matrices a = np.array([5, 72, 13, 100]) b = np.array([2, 5, 10, 30]) # Performing division using arithmetic operators div_ans = a/b print(div_ans) # Performing division using numpy functions div_ans = np.divide(a, b) print(div_ans) 

Výstup:

[ 2.5 14.4 1.3 3.33333333] [ 2.5 14.4 1.3 3.33333333] 

Další informace naleznete v naší NumPy – Výukový program pro aritmetické operace

Indexování NumPy Array

Indexování lze provést v NumPy pomocí pole jako indexu. V případě řezu je vrácen pohled nebo mělká kopie pole, ale v poli indexu je vrácena kopie původního pole. Numpy pole lze indexovat s jinými poli nebo jakoukoli jinou sekvencí s výjimkou n-tic. Poslední prvek je indexován o -1 sekundu, naposledy o -2 a tak dále.

Indexování pole Python NumPy

Python3
# Python program to demonstrate # the use of index arrays. import numpy as np # Create a sequence of integers from # 10 to 1 with a step of -2 a = np.arange(10, 1, -2) print('
 A sequential array with a negative step: 
',a) # Indexes are specified inside the np.array method. newarr = a[np.array([3, 1, 2 ])] print('
 Elements at these indices are:
',newarr) 

Výstup:

A sequential array with a negative step:   [10 8 6 4 2]   Elements at these indices are:  [4 8 6] 

NumPy Array Slicing

Zvažte syntaxi x[obj], kde x je pole a obj je index. Objekt řezu je v případě indexu základní krájení . K základnímu krájení dochází, když je obj:

  • objekt řezu ve tvaru start: stop: krok
  • celé číslo
  • nebo n-tici objektů řezu a celých čísel

Všechna pole vygenerovaná základním dělením jsou vždy zobrazením v původním poli.

Python3
# Python program for basic slicing. import numpy as np # Arrange elements from 0 to 19 a = np.arange(20) print('
 Array is:
 ',a) # a[start:stop:step] print('
 a[-8:17:1] = ',a[-8:17:1]) # The : operator means all elements till the end. print('
 a[10:] = ',a[10:]) 

Výstup:

Array is: [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19]  a[-8:17:1] = [12 13 14 15 16]  a[10:] = [10 11 12 13 14 15 16 17 18 19] 

Elipsu lze také použít spolu se základním krájením. Elipsa (…) je počet : objektů potřebných k vytvoření výběrové n-tice stejné délky, jako jsou rozměry pole.

Python3
# Python program for indexing using basic slicing with ellipsis import numpy as np # A 3 dimensional array. b = np.array([[[1, 2, 3],[4, 5, 6]], [[7, 8, 9],[10, 11, 12]]]) print(b[...,1]) #Equivalent to b[: ,: ,1 ] 

Výstup:

[[ 2 5]  [ 8 11]] 

NumPy Array vysílání

Termín vysílání odkazuje na to, jak numpy zachází s poli s různými rozměry během aritmetických operací, které vedou k určitým omezením, menší pole se vysílá přes větší pole, takže mají kompatibilní tvary.

Předpokládejme, že máme velký soubor dat, každý údaj je seznam parametrů. V Numpy máme 2-D pole, kde každý řádek je datum a počet řádků je velikost souboru dat. Předpokládejme, že chceme použít nějaké škálování na všechna tato data, každý parametr dostane svůj vlastní škálovací faktor nebo řekněme, že každý parametr je vynásoben nějakým faktorem.

Abychom měli jasno, pojďme počítat kalorie v potravinách pomocí rozdělení makroživin. Zhruba řečeno, kalorické části jídla se skládají z tuků (9 kalorií na gram), bílkovin (4 CPG) a sacharidů (4 CPG). Pokud tedy uvedeme některé potraviny (naše údaje) a pro každou potravinu uvedeme její rozdělení na makroživiny (parametry), můžeme pak každou živinu vynásobit její kalorickou hodnotou (aplikovat škálování) a vypočítat tak kalorický rozklad každé potraviny.

NumPy Array vysílání

S touto transformací nyní můžeme počítat všechny druhy užitečných informací. Například, jaký je celkový počet kalorií přítomných v nějakém jídle nebo, vzhledem k rozpisu mé večeře, vědět, kolik kalorií jsem získal z bílkovin a tak dále.

Podívejme se na naivní způsob vytváření tohoto výpočtu pomocí Numpy:

Python3
import numpy as np macros = np.array([ [0.8, 2.9, 3.9], [52.4, 23.6, 36.5], [55.2, 31.7, 23.9], [14.4, 11, 4.9] ]) # Create a new array filled with zeros, # of the same shape as macros. result = np.zeros_like(macros) cal_per_macro = np.array([3, 3, 8]) # Now multiply each row of macros by # cal_per_macro. In Numpy, `*` is # element-wise multiplication between two arrays. for i in range(macros.shape[0]): result[i, :] = macros[i, :] * cal_per_macro result 

Výstup:

array([[ 2.4, 8.7, 31.2],  [157.2, 70.8, 292. ],  [165.6, 95.1, 191.2],  [ 43.2, 33. , 39.2]]) 

Pravidla vysílání: Společné vysílání dvou polí se řídí těmito pravidly:

  • Pokud pole nemají stejnou hodnotu, přidejte před tvar pole nižší úrovně 1 s, dokud nebudou mít oba tvary stejnou délku.
  • Tato dvě pole jsou kompatibilní v dimenzi, pokud mají stejnou velikost v dimenzi nebo pokud jedno z polí má v této dimenzi velikost 1.
  • Pole lze vysílat společně, pokud jsou kompatibilní se všemi rozměry.
  • Po vysílání se každé pole chová, jako by mělo tvar rovný elementovému maximu tvarů dvou vstupních polí.
  • V jakékoli dimenzi, kde jedno pole mělo velikost 1 a druhé pole mělo velikost větší než 1, se první pole chová, jako by bylo zkopírováno podél této dimenze.
Python3
import numpy as np v = np.array([12, 24, 36]) w = np.array([45, 55]) # To compute an outer product we first # reshape v to a column vector of shape 3x1 # then broadcast it against w to yield an output # of shape 3x2 which is the outer product of v and w print(np.reshape(v, (3, 1)) * w) X = np.array([[12, 22, 33], [45, 55, 66]]) # x has shape 2x3 and v has shape (3, ) # so they broadcast to 2x3, print(X + v) # Add a vector to each column of a matrix X has # shape 2x3 and w has shape (2, ) If we transpose X # then it has shape 3x2 and can be broadcast against w # to yield a result of shape 3x2. # Transposing this yields the final result # of shape 2x3 which is the matrix. print((X.T + w).T) # Another solution is to reshape w to be a column # vector of shape 2X1 we can then broadcast it # directly against X to produce the same output. print(X + np.reshape(w, (2, 1))) # Multiply a matrix by a constant, X has shape 2x3. # Numpy treats scalars as arrays of shape(); # these can be broadcast together to shape 2x3. print(X * 2) 

Výstup:

[[ 540 660]  [1080 1320]  [1620 1980]] [[ 24 46 69]  [ 57 79 102]] [[ 57 67 78]  [100 110 121]] [[ 57 67 78]  [100 110 121]] [[ 24 44 66]  [ 90 110 132]] 

Poznámka: Další informace naleznete v naší Výukový program Python NumPy .

Analýza dat pomocí Pandas

Python Pandas Používá se pro relační nebo označená data a poskytuje různé datové struktury pro manipulaci s takovými daty a časovými řadami. Tato knihovna je postavena nad knihovnou NumPy. Tento modul je obecně importován jako:

import pandas as pd 

Zde se pd označuje jako alias k Pandám. Není však nutné importovat knihovnu pomocí aliasu, pouze pomáhá při psaní menšího množství kódu pokaždé, když je zavolána metoda nebo vlastnost. Pandy obecně poskytují dvě datové struktury pro manipulaci s daty, jsou to:

  • Série
  • Datový rámec

Série:

Série Pandy je jednorozměrné označené pole schopné pojmout data libovolného typu (celé číslo, řetězec, float, python objekty atd.). Popisky os se souhrnně nazývají indexy. Řada Pandas není nic jiného než sloupec v listu aplikace Excel. Štítky nemusí být jedinečné, ale musí být hašovatelného typu. Objekt podporuje celočíselné indexování i indexování založené na štítcích a poskytuje řadu metod pro provádění operací zahrnujících index.

Série Pandy

Lze jej vytvořit pomocí funkce Series() načtením datové sady ze stávajícího úložiště, jako je SQL, databáze, soubory CSV, soubory Excel atd., nebo z datových struktur, jako jsou seznamy, slovníky atd.

Python Pandas Creating Series

Python3
import pandas as pd import numpy as np # Creating empty series ser = pd.Series() print(ser) # simple array data = np.array(['g', 'e', 'e', 'k', 's']) ser = pd.Series(data) print(ser) 

Výstup:

série pnadas

série pnadas

Datový rámec:

Pandas DataFrame je dvourozměrná velikostně proměnlivá, potenciálně heterogenní tabulková datová struktura s označenými osami (řádky a sloupce). Datový rámec je dvourozměrná datová struktura, tj. data jsou zarovnána tabulkovým způsobem do řádků a sloupců. Pandas DataFrame se skládá ze tří hlavních komponent, dat, řádků a sloupců.

Dataframe Pandas

Může být vytvořen pomocí metody Dataframe() a stejně jako série může být také z různých typů souborů a datových struktur.

Python Pandas Vytváření datového rámce

Python3
import pandas as pd # Calling DataFrame constructor df = pd.DataFrame() print(df) # list of strings lst = ['Geeks', 'For', 'Geeks', 'is', 'portal', 'for', 'Geeks'] # Calling DataFrame constructor on list df = pd.DataFrame(lst) df 

Výstup:

Vytvoření datového rámce ze seznamu

Vytvoření datového rámce ze seznamu python

Vytvoření datového rámce z CSV

Můžeme vytvořit datový rámec z CSV soubory pomocí read_csv() funkce.

Python Pandas čtou CSV

Python3
import pandas as pd # Reading the CSV file df = pd.read_csv('Iris.csv') # Printing top 5 rows df.head() 

Výstup:

hlava datového rámce

hlava datového rámce

Filtrování DataFrame

pandy dataframe.filter() Funkce se používá k podmnožení řádků nebo sloupců datového rámce podle štítků v zadaném indexu. Všimněte si, že tato rutina nefiltruje datový rámec na jeho obsahu. Filtr se použije na štítky indexu.

Datový rámec filtru Python Pandas

Python3
import pandas as pd # Reading the CSV file df = pd.read_csv('Iris.csv') # applying filter function df.filter(['Species', 'SepalLengthCm', 'SepalLengthCm']).head() 

Výstup:

Použití filtru na datovou sadu

Použití filtru na datovou sadu

Třídění DataFrame

Aby bylo možné třídit datový rámec v pandách, použijte funkci sort_values() se používá. Pandas sort_values() může řadit datový rámec ve vzestupném nebo sestupném pořadí.

Python Pandas třídící datový rámec ve vzestupném pořadí

Výstup:

Seřazená datová sada na základě hodnoty sloupce

Seřazená datová sada na základě hodnoty sloupce

Pandas GroupBy

Skupina vytvořená je docela jednoduchý koncept. Můžeme vytvořit seskupení kategorií a aplikovat na kategorie funkci. Ve skutečných projektech datové vědy se budete zabývat velkým množstvím dat a zkoušet věci znovu a znovu, takže pro efektivitu používáme koncept Groupby. Groupby hlavně odkazuje na proces zahrnující jeden nebo více z následujících kroků, kterými jsou:

  • Rozdělení: Je to proces, ve kterém rozdělujeme data do skupin aplikací určitých podmínek na datové sady.
  • Aplikace: Je to proces, ve kterém aplikujeme funkci na každou skupinu nezávisle.
  • Kombinace: Je to proces, ve kterém kombinujeme různé datové sady po aplikaci groupby a výsledků do datové struktury.

Následující obrázek vám pomůže pochopit proces, který je součástí konceptu Groupby.

1. Seskupte jedinečné hodnoty ze sloupce Tým

Pandas Groupby Method

2. Nyní je pro každou skupinu připraven kbelík

3. Vhoďte ostatní data do kbelíků

Pandas GroupBy

4. Použijte funkci na sloupec hmotnosti každého kbelíku.

Použití funkce na sloupec hmotnosti každého sloupce

Python Pandas GroupBy

Python3
# importing pandas module import pandas as pd # Define a dictionary containing employee data data1 = {'Name': ['Jai', 'Anuj', 'Jai', 'Princi', 'Gaurav', 'Anuj', 'Princi', 'Abhi'], 'Age': [27, 24, 22, 32, 33, 36, 27, 32], 'Address': ['Nagpur', 'Kanpur', 'Allahabad', 'Kannuaj', 'Jaunpur', 'Kanpur', 'Allahabad', 'Aligarh'], 'Qualification': ['Msc', 'MA', 'MCA', 'Phd', 'B.Tech', 'B.com', 'Msc', 'MA']} # Convert the dictionary into DataFrame df = pd.DataFrame(data1) print('Original Dataframe') display(df) # applying groupby() function to # group the data on Name value. gk = df.groupby('Name') # Let's print the first entries # in all the groups formed. print('After Creating Groups') gk.first() 

Výstup:

pandas groupby

pandas groupby

Použití funkce na skupinu:

Po rozdělení dat do skupiny aplikujeme funkci na každou skupinu, abychom provedli některé operace, kterými jsou:

  • Agregace: Je to proces, ve kterém počítáme souhrnnou statistiku (nebo statistiku) o každé skupině. Například Vypočítejte součty nebo průměry skupin
  • Proměna: Je to proces, ve kterém provádíme některé skupinově specifické výpočty a vracíme podobný index. Například vyplnění NA v rámci skupin hodnotou odvozenou z každé skupiny
  • Filtrace: Je to proces, ve kterém vyřazujeme některé skupiny podle skupinového výpočtu, který vyhodnocuje True nebo False. Například filtrování dat na základě součtu skupiny nebo průměru

Agregace Pandy

Agregace je proces, ve kterém počítáme souhrnnou statistiku o každé skupině. Agregovaná funkce vrací jednu agregovanou hodnotu pro každou skupinu. Po rozdělení dat do skupin pomocí funkce groupby lze na seskupených datech provést několik agregačních operací.

Agregace Python Pandas

Python3
# importing pandas module import pandas as pd # importing numpy as np import numpy as np # Define a dictionary containing employee data data1 = {'Name': ['Jai', 'Anuj', 'Jai', 'Princi', 'Gaurav', 'Anuj', 'Princi', 'Abhi'], 'Age': [27, 24, 22, 32, 33, 36, 27, 32], 'Address': ['Nagpur', 'Kanpur', 'Allahabad', 'Kannuaj', 'Jaunpur', 'Kanpur', 'Allahabad', 'Aligarh'], 'Qualification': ['Msc', 'MA', 'MCA', 'Phd', 'B.Tech', 'B.com', 'Msc', 'MA']} # Convert the dictionary into DataFrame df = pd.DataFrame(data1) # performing aggregation using # aggregate method grp1 = df.groupby('Name') grp1.aggregate(np.sum) 

Výstup:

Použití agregační funkce na datové sadě

Použití agregační funkce na datové sadě

Zřetězení DataFrame

Abychom spojili datový rámec, používáme spojit() funkce, která pomáhá při zřetězení datového rámce. Tato funkce dělá veškerou těžkou práci provádění operací zřetězení spolu s osou objektů Pandas, zatímco provádí volitelnou logiku sady (sjednocení nebo průnik) indexů (pokud existují) na ostatních osách.

Python Pandas Concatenate Dataframe

Python3
# importing pandas module import pandas as pd # Define a dictionary containing employee data data1 = {'key': ['K0', 'K1', 'K2', 'K3'], 'Name':['Jai', 'Princi', 'Gaurav', 'Anuj'], 'Age':[27, 24, 22, 32],} # Define a dictionary containing employee data data2 = {'key': ['K0', 'K1', 'K2', 'K3'], 'Address':['Nagpur', 'Kanpur', 'Allahabad', 'Kannuaj'], 'Qualification':['Btech', 'B.A', 'Bcom', 'B.hons']} # Convert the dictionary into DataFrame df = pd.DataFrame(data1) # Convert the dictionary into DataFrame df1 = pd.DataFrame(data2) display(df, df1) # combining series and dataframe res = pd.concat([df, df1], axis=1) res 

Výstup:

Sloučení DataFrame

Když potřebujeme zkombinovat velmi velké datové rámce, spojení slouží jako účinný způsob, jak tyto operace provádět rychle. Spojení lze provést pouze na dvou DataFramech současně, označovaných jako levá a pravá tabulka. Klíčem je společný sloupec, na kterém budou oba DataFrame spojeny. Je dobrým zvykem používat klíče, které mají v celém sloupci jedinečné hodnoty, abyste se vyhnuli nechtěné duplikaci hodnot řádků. Pandy poskytují jedinou funkci, spojit() , jako vstupní bod pro všechny standardní operace spojení databáze mezi objekty DataFrame.

Existují čtyři základní způsoby zpracování spojení (vnitřní, levý, pravý a vnější), v závislosti na tom, které řádky si musí zachovat svá data.

Sloučit Daframe Python Pandas

Python Pandas Merge Dataframe

Python3
# importing pandas module import pandas as pd # Define a dictionary containing employee data data1 = {'key': ['K0', 'K1', 'K2', 'K3'], 'Name':['Jai', 'Princi', 'Gaurav', 'Anuj'], 'Age':[27, 24, 22, 32],} # Define a dictionary containing employee data data2 = {'key': ['K0', 'K1', 'K2', 'K3'], 'Address':['Nagpur', 'Kanpur', 'Allahabad', 'Kannuaj'], 'Qualification':['Btech', 'B.A', 'Bcom', 'B.hons']} # Convert the dictionary into DataFrame df = pd.DataFrame(data1) # Convert the dictionary into DataFrame df1 = pd.DataFrame(data2) display(df, df1) # using .merge() function res = pd.merge(df, df1, on='key') res 

Výstup:

Zřetězení dvou datových sad

Zřetězení dvou datových sad

Připojování k DataFrame

Abychom se mohli připojit k datovému rámci, používáme .připojit se() Tato funkce se používá pro spojení sloupců dvou potenciálně odlišně indexovaných DataFrame do jednoho výsledného DataFrame.

Python Pandas Join Dataframe

Python3
# importing pandas module import pandas as pd # Define a dictionary containing employee data data1 = {'Name':['Jai', 'Princi', 'Gaurav', 'Anuj'], 'Age':[27, 24, 22, 32]} # Define a dictionary containing employee data data2 = {'Address':['Allahabad', 'Kannuaj', 'Allahabad', 'Kannuaj'], 'Qualification':['MCA', 'Phd', 'Bcom', 'B.hons']} # Convert the dictionary into DataFrame df = pd.DataFrame(data1,index=['K0', 'K1', 'K2', 'K3']) # Convert the dictionary into DataFrame df1 = pd.DataFrame(data2, index=['K0', 'K2', 'K3', 'K4']) display(df, df1) # joining dataframe res = df.join(df1) res 

Výstup:

Spojení dvou datových sad

Další informace naleznete v naší Slučování, spojování a zřetězení pand tutorial

Kompletní průvodce pandami najdete v našem Návod na pandy .

Vizualizace pomocí Matplotlib

Matplotlib je snadno použitelný a úžasná vizualizační knihovna v Pythonu. Je postaven na polích NumPy a navržen pro práci s širším zásobníkem SciPy a skládá se z několika grafů, jako je čára, sloupec, rozptyl, histogram atd.

Pyplot

Pyplot je modul Matplotlib, který poskytuje rozhraní podobné MATLABu. Pyplot poskytuje funkce, které interagují s figurou, tj. vytváří figuru, zdobí spiknutí štítky a vytváří vykreslovací plochu na obrázku.

Python3
# Python program to show pyplot module import matplotlib.pyplot as plt plt.plot([1, 2, 3, 4], [1, 4, 9, 16]) plt.axis([0, 6, 0, 20]) plt.show() 

Výstup:

Sloupcový graf

A barový pozemek nebo sloupcový graf je graf, který představuje kategorii dat s obdélníkovými pruhy s délkami a výškami, které jsou úměrné hodnotám, které představují. Tyčové grafy lze vykreslovat vodorovně nebo svisle. Sloupcový graf popisuje srovnání mezi jednotlivými kategoriemi. Lze jej vytvořit pomocí metody bar().

Sloupcový graf Python Matplotlib

Zde použijeme pouze datovou sadu duhovky

Python3
import matplotlib.pyplot as plt import pandas as pd df = pd.read_csv('Iris.csv') # This will plot a simple bar chart plt.bar(df['Species'], df['SepalLengthCm']) # Title to the plot plt.title('Iris Dataset') # Adding the legends plt.legend(['bar']) plt.show() 

Výstup:

Sloupcový graf pomocí knihovny matplotlib

Sloupcový graf pomocí knihovny matplotlib

Histogramy

A histogram se v zásadě používá k reprezentaci dat ve formě nějakých skupin. Je to typ sloupcového grafu, kde osa X představuje rozsahy přihrádek, zatímco osa Y poskytuje informace o frekvenci. Chcete-li vytvořit histogram, prvním krokem je vytvořit přihrádku rozsahů, poté rozložit celý rozsah hodnot do řady intervalů a spočítat hodnoty, které spadají do každého z intervalů. Přihrádky jsou jasně identifikovány jako po sobě jdoucí, nepřekrývající se intervaly proměnných. The hist() Funkce se používá k výpočtu a vytvoření histogramu x.

Histogram Python Matplotlib

Python3
import matplotlib.pyplot as plt import pandas as pd df = pd.read_csv('Iris.csv') plt.hist(df['SepalLengthCm']) # Title to the plot plt.title('Histogram') # Adding the legends plt.legend(['SepalLengthCm']) plt.show() 

Výstup:

Histplot pomocí knihovny matplotlib

Bodový diagram

Bodové grafy se používají k pozorování vztahu mezi proměnnými a používají tečky k reprezentaci vztahu mezi nimi. The rozptyl() metoda v knihovně matplotlib se používá k vykreslení bodového grafu.

Python Matplotlib Scatter Plot

Python3
import matplotlib.pyplot as plt import pandas as pd df = pd.read_csv('Iris.csv') plt.scatter(df['Species'], df['SepalLengthCm']) # Title to the plot plt.title('Scatter Plot') # Adding the legends plt.legend(['SepalLengthCm']) plt.show() 

Výstup:

Bodový graf pomocí knihovny matplotlib

Bodový graf pomocí knihovny matplotlib

Box Plot

A boxplot ,Korelace známá také jako krabicový a vousový graf. Je to velmi dobrá vizuální reprezentace, pokud jde o měření distribuce dat. Jasně zobrazuje střední hodnoty, odlehlé hodnoty a kvartily. Pochopení distribuce dat je dalším důležitým faktorem, který vede k lepšímu sestavení modelu. Pokud mají data odlehlé hodnoty, je doporučeným způsobem jejich identifikace a provedení nezbytných akcí krabicový graf. Rámeček a graf vousů ukazuje, jak jsou data rozložena. V grafu je obecně zahrnuto pět informací

  • Minimum je zobrazeno zcela vlevo na grafu, na konci levého „fúze“
  • První kvartil, Q1, je zcela vlevo od pole (levý vous)
  • Medián je zobrazen jako čára ve středu rámečku
  • Třetí kvartil, Q3, zobrazený zcela vpravo na rámečku (pravý vous)
  • Maximum je úplně vpravo na krabici

Znázornění krabicového pozemku

Rozsah interkvartilní

Rozsah interkvartilní

Ilustrující krabicovou zápletku

Ilustrující krabicovou zápletku

Python Matplotlib Box Plot

Python3
import matplotlib.pyplot as plt import pandas as pd df = pd.read_csv('Iris.csv') plt.boxplot(df['SepalWidthCm']) # Title to the plot plt.title('Box Plot') # Adding the legends plt.legend(['SepalWidthCm']) plt.show() 

Výstup:

Boxplot pomocí knihovny matplotlib

Boxplot pomocí knihovny matplotlib

Korelační teplotní mapy

2-D Heatmap je nástroj pro vizualizaci dat, který pomáhá reprezentovat velikost jevu ve formě barev. Korelační teplotní mapa je teplotní mapa, která ukazuje 2D korelační matici mezi dvěma diskrétními rozměry, pomocí barevných buněk k reprezentaci dat obvykle v monochromatickém měřítku. Hodnoty první dimenze se zobrazí jako řádky tabulky, zatímco druhá dimenze je sloupec. Barva buňky je úměrná počtu měření, která odpovídají rozměrové hodnotě. Díky tomu jsou korelační teplotní mapy ideální pro analýzu dat, protože umožňují snadno čitelné vzory a zvýrazňují rozdíly a variace ve stejných datech. Korelační teplotní mapě, stejně jako běžné teplotní mapě, pomáhá barevný pruh, díky kterému jsou data snadno čitelná a srozumitelná.

Poznámka: Data zde musí být předána metodou corr(), aby se vygenerovala korelační teplotní mapa. Samotná corr() také eliminuje sloupce, které nebudou při generování korelační teplotní mapy k ničemu, a vybere ty, které lze použít.

Python Matplotlib Correlation Heatmap

Python3
import matplotlib.pyplot as plt import pandas as pd df = pd.read_csv('Iris.csv') plt.imshow(df.corr() , cmap = 'autumn' , interpolation = 'nearest' ) plt.title('Heat Map') plt.show() 

Výstup:

Heatmap pomocí knihovny matplotlib

Heatmap pomocí knihovny matplotlib

Další informace o vizualizaci dat naleznete v níže uvedených návodech –

Nejlepší Články

Kategorie

Zajímavé Články