Analýza údajov pomocou Pythonu

V tomto článku budeme diskutovať o tom, ako vykonať analýzu údajov pomocou Pythonu. Budeme diskutovať o všetkých druhoch analýzy údajov, t. j. analýze numerických údajov pomocou NumPy, tabuľkových údajov s Pandas, vizualizácii údajov Matplotlib a prieskumnej analýze údajov.

Analýza údajov pomocou Pythonu

Analýza dát je technika zhromažďovania, transformácie a organizovania údajov s cieľom robiť budúce predpovede a informované rozhodnutia založené na údajoch. Pomáha tiež nájsť možné riešenia obchodného problému. Analýza údajov má šesť krokov. Oni sú:

  • Spýtajte sa alebo špecifikujte požiadavky na údaje
  • Pripravte alebo zbierajte údaje
  • Vyčistite a spracujte
  • Analyzovať
  • zdieľam
  • Konať alebo nahlásiť

Analýza údajov pomocou Pythonu



Poznámka: Ak sa chcete dozvedieť viac o týchto krokoch, pozrite si naše NumPy je balík na spracovanie poľa v Pythone a poskytuje vysokovýkonný viacrozmerný objekt poľa a nástroje na prácu s týmito poľami. Je to základný balík pre vedecké výpočty s Pythonom.

Polia v NumPy

NumPy Array je tabuľka prvkov (zvyčajne čísel), všetky rovnakého typu, indexované n-ticou kladných celých čísel. V Numpy sa počet rozmerov poľa nazýva hodnosť poľa. N-tica celých čísel, ktoré udávajú veľkosť poľa pozdĺž každého rozmeru, sa nazýva tvar poľa.

Vytvára sa pole NumPy

NumPy polia môžu byť vytvorené viacerými spôsobmi, s rôznou úrovňou. Môže byť tiež vytvorený s použitím rôznych dátových typov, ako sú zoznamy, n-tice atď. Typ výsledného poľa je odvodený od typu prvkov v sekvenciách. NumPy ponúka niekoľko funkcií na vytváranie polí s počiatočným zástupným obsahom. Tieto minimalizujú potrebu rastúcich polí, čo je nákladná operácia.

Vytvorte pole pomocou numpy.empty(tvar, 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ýkon:

Vyprázdnite Matrix pomocou pandy

Vyprázdnite Matrix pomocou pandy

Vytvorte pole pomocou 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ýkon:

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

Operácie na Numpy Arrays

Aritmetické operácie

  • Doplnenie:
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ýkon:

[ 7 77 23 130] [ 7 77 23 130] [ 8 79 26 134] [ 7 77 23 130] 
  • Odčítanie:
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ýkon:

[ 3 67 3 70] [ 3 67 3 70] 
  • Násobenie:
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ýkon:

[ 10 360 130 3000] [ 10 360 130 3000] 
  • divízia:
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ýkon:

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

Viac informácií nájdete v našom NumPy – Návod na aritmetické operácie

Indexovanie NumPy Array

Indexovanie možno vykonať v NumPy pomocou poľa ako indexu. V prípade rezu sa vráti pohľad alebo plytká kópia poľa, ale v poli indexov sa vráti kópia pôvodného poľa. Numpy polia môžu byť indexované s inými poliami alebo akoukoľvek inou sekvenciou s výnimkou n-tic. Posledný prvok je indexovaný o -1 sekundu, posledný o -2 atď.

Indexovanie poľa 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ýkon:

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

NumPy Array Slicing

Zvážte syntax x[obj], kde x je pole a obj je index. Objekt rezu je v prípade indexu základné krájanie . Základné krájanie nastáva, keď je obj:

  • objekt výrezu, ktorý má tvar začiatok: zastavenie: krok
  • celé číslo
  • alebo n-tica slice objektov a celých čísel

Všetky polia vygenerované základným krájaním sú vždy zobrazením v pôvodnom 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ýkon:

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 možno použiť aj spolu so základným krájaním. Elipsa (…) je počet : objektov potrebných na vytvorenie výberovej n-tice rovnakej dĺžky, ako sú rozmery poľa.

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ýkon:

[[ 2 5]  [ 8 11]] 

NumPy Array vysielanie

Termín vysielanie sa týka toho, ako numpy zaobchádza s poľami s rôznymi rozmermi počas aritmetických operácií, ktoré vedú k určitým obmedzeniam, menšie pole sa vysiela cez väčšie pole, takže majú kompatibilné tvary.

Predpokladajme, že máme veľký súbor údajov, každý údaj je zoznam parametrov. V Numpy máme 2-D pole, kde každý riadok je údaj a počet riadkov je veľkosť súboru údajov. Predpokladajme, že chceme na všetky tieto údaje použiť nejaký druh škálovania, každý parameter dostane svoj vlastný škálovací faktor alebo povedzme, že každý parameter je vynásobený nejakým faktorom.

Aby sme tomu rozumeli, počítajme kalórie v potravinách pomocou rozdelenia makroživín. Zhruba povedané, kalorické časti jedla sú vyrobené z tukov (9 kalórií na gram), bielkovín (4 CPG) a sacharidov (4 CPG). Takže ak uvedieme niektoré potraviny (naše údaje) a pre každú potravinu uvedieme jej makroživiny (parametre), potom môžeme vynásobiť každú živinu jej kalorickou hodnotou (aplikovať škálovanie), aby sme vypočítali kalorické rozdelenie každej potraviny.

NumPy Array vysielanie

S touto transformáciou teraz môžeme vypočítať všetky druhy užitočných informácií. Napríklad, aký je celkový počet kalórií prítomných v niektorom jedle alebo, vzhľadom na rozpis mojej večere, vedieť, koľko kalórií som získal z bielkovín a podobne.

Pozrime sa na naivný spôsob vytvárania tohto výpočtu pomocou 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ýkon:

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

Pravidlá vysielania: Spoločné vysielanie dvoch polí sa riadi týmito pravidlami:

  • Ak polia nemajú rovnakú hodnotu, pridajte pred tvar poľa nižšej kategórie 1 s, kým oba tvary nebudú mať rovnakú dĺžku.
  • Tieto dve polia sú kompatibilné v dimenzii, ak majú rovnakú veľkosť v dimenzii alebo ak jedno z polí má v danej dimenzii veľkosť 1.
  • Polia môžu byť vysielané spoločne, ak sú kompatibilné so všetkými rozmermi.
  • Po odoslaní sa každé pole správa tak, ako keby malo tvar rovnajúci sa elementovému maximu tvarov dvoch vstupných polí.
  • V akejkoľvek dimenzii, kde jedno pole malo veľkosť 1 a druhé pole malo veľkosť väčšiu ako 1, sa prvé pole správa tak, ako keby bolo skopírované pozdĺž tejto dimenzie.
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ýkon:

[[ 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: Viac informácií nájdete v našom Výukový program Python NumPy .

Analýza údajov pomocou Pandas

Python Pandas Používa sa pre relačné alebo označené údaje a poskytuje rôzne dátové štruktúry na manipuláciu s takýmito údajmi a časovými radmi. Táto knižnica je postavená nad knižnicou NumPy. Tento modul sa vo všeobecnosti importuje ako:

import pandas as pd 

Tu sa pd označuje ako alias Pandy. Nie je však potrebné importovať knižnicu pomocou aliasu, len pomáha pri písaní menšieho množstva kódu pri každom volaní metódy alebo vlastnosti. Pandy vo všeobecnosti poskytujú dve dátové štruktúry na manipuláciu s údajmi, sú to:

  • séria
  • Dataframe

Séria:

Séria Pandy je jednorozmerné označené pole schopné uchovávať dáta akéhokoľvek typu (celé číslo, reťazec, float, python objekty atď.). Označenia osí sa súhrnne nazývajú indexy. Séria Pandas nie je nič iné ako stĺpec v hárku programu Excel. Štítky nemusia byť jedinečné, ale musia byť hašovateľného typu. Objekt podporuje celočíselné aj indexovanie založené na návestiach a poskytuje množstvo metód na vykonávanie operácií zahŕňajúcich index.

Séria Pandy

Dá sa vytvoriť pomocou funkcie Series() načítaním množiny údajov z existujúceho úložiska, ako je SQL, databáza, súbory CSV, súbory Excel atď., alebo z údajových štruktúr, ako sú zoznamy, slovníky atď.

Séria vytvárania Python Pandas

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ýkon:

séria pnadas

séria pnadas

Dátový rámec:

DataFrame Pandas je dvojrozmerná, veľkosťou meniteľná, potenciálne heterogénna tabuľková dátová štruktúra s označenými osami (riadky a stĺpce). Dátový rámec je dvojrozmerná dátová štruktúra, t.j. dáta sú zoradené tabuľkovým spôsobom do riadkov a stĺpcov. Pandas DataFrame pozostáva z troch hlavných komponentov, údajov, riadkov a stĺpcov.

Dátový rámec Pandas

Môže byť vytvorený pomocou metódy Dataframe() a rovnako ako séria môže byť aj z rôznych typov súborov a dátových štruktúr.

Python Pandas vytvára dátový rámec

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ýkon:

Vytvorenie dátového rámca zo zoznamu

Vytvorenie dátového rámca zo zoznamu python

Vytvorenie dátového rámca z CSV

Môžeme vytvorte dátový rámec z CSV súbory pomocou read_csv() funkciu.

Python Pandy čítajú CSV

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

Výkon:

hlava dátového rámca

hlava dátového rámca

Filtrovanie dátového rámca

pandy dataframe.filter() funkcia sa používa na podnastavenie riadkov alebo stĺpcov dátového rámca podľa štítkov v zadanom indexe. Všimnite si, že táto rutina nefiltruje dátový rámec na svojom obsahu. Filter sa použije na štítky indexu.

Dátový rámec filtra 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ýkon:

Aplikovanie filtra na množinu údajov

Aplikovanie filtra na množinu údajov

Triedenie DataFrame

Aby bolo možné zoradiť dátový rámec v pandách, funkcia sort_values() sa používa. Pandas sort_values() dokáže zoradiť dátový rámec vo vzostupnom alebo zostupnom poradí.

Python Pandas zoraďuje dátový rámec vo vzostupnom poradí

Výkon:

Zoradená množina údajov na základe hodnoty stĺpca

Zoradená množina údajov na základe hodnoty stĺpca

Pandas GroupBy

Groupby je celkom jednoduchý koncept. Môžeme vytvoriť zoskupenie kategórií a aplikovať na kategórie funkciu. V skutočných projektoch vedy o údajoch sa budete zaoberať veľkým množstvom údajov a skúšať veci znova a znova, takže pre efektivitu používame koncept Groupby. Groupby sa týka hlavne procesu zahŕňajúceho jeden alebo viacero z nasledujúcich krokov, ktorými sú:

  • Rozdelenie: Je to proces, v ktorom rozdeľujeme údaje do skupín použitím určitých podmienok na súbory údajov.
  • Uplatňuje sa: Je to proces, v ktorom aplikujeme funkciu na každú skupinu nezávisle.
  • Kombinácia: Je to proces, v ktorom kombinujeme rôzne dátové množiny po aplikovaní groupby a výsledkov do dátovej štruktúry.

Nasledujúci obrázok vám pomôže pochopiť proces zapojenia do konceptu Groupby.

1. Zoskupte jedinečné hodnoty zo stĺpca Tím

Pandas Groupby Method

2. Teraz je tu vedro pre každú skupinu

3. Ostatné údaje vhoďte do vedier

Pandas GroupBy

4. Použite funkciu na stĺpec hmotnosti každého vedra.

Použitie funkcie na stĺpec hmotnosti každého stĺpca

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ýkon:

pandy groupby

pandy groupby

Aplikácia funkcie na skupinu:

Po rozdelení údajov do skupiny aplikujeme funkciu na každú skupinu, aby sme vykonali niektoré operácie, ktorými sú:

  • Agregácia: Je to proces, v ktorom počítame súhrnnú štatistiku (alebo štatistiku) o každej skupine. Napríklad vypočítajte súčty alebo priemery skupín
  • Transformácia: Je to proces, v ktorom vykonávame niektoré skupinovo špecifické výpočty a vraciame podobné indexovanie. Napríklad vyplnenie NA v rámci skupín hodnotou odvodenou z každej skupiny
  • Filtrácia: Je to proces, v ktorom vyradíme niektoré skupiny podľa skupinového výpočtu, ktorý vyhodnotí Pravda alebo Nepravda. Napríklad odfiltrovanie údajov na základe súčtu alebo priemeru skupiny

Agregácia Pandas

Agregácia je proces, v ktorom vypočítavame súhrnnú štatistiku o každej skupine. Agregovaná funkcia vráti jednu agregovanú hodnotu pre každú skupinu. Po rozdelení údajov do skupín pomocou funkcie groupby je možné na zoskupených údajoch vykonať niekoľko operácií agregácie.

Agregácia 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ýkon:

Použitie súčtovej agregačnej funkcie na množine údajov

Použitie súčtovej agregačnej funkcie na množine údajov

Reťazenie dátového rámca

Na spojenie dátového rámca používame concat() funkcia, ktorá pomáha pri zreťazení dátového rámca. Táto funkcia robí všetku ťažkú ​​prácu pri vykonávaní operácií zreťazenia spolu s osou objektov Pandas, pričom vykonáva voliteľnú logiku množiny (spojenie alebo priesečník) indexov (ak existujú) na ostatných osiach.

Python Pandas zreťazil dátový rámec

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ýkon:

Zlúčenie dátového rámca

Keď potrebujeme skombinovať veľmi veľké dátové rámce, spojenia slúžia ako účinný spôsob na rýchle vykonávanie týchto operácií. Spojenie je možné vykonať iba na dvoch DataFrames naraz, označovaných ako ľavá a pravá tabuľka. Kľúčom je spoločný stĺpec, v ktorom budú dva DataFrame spojené. Je dobrým zvykom používať kľúče, ktoré majú jedinečné hodnoty v celom stĺpci, aby ste sa vyhli neúmyselnej duplikácii hodnôt riadkov. Pandy poskytujú jedinú funkciu, zlúčiť() , ako vstupný bod pre všetky štandardné operácie spájania databáz medzi objektmi DataFrame.

Existujú štyri základné spôsoby spracovania spojenia (vnútorné, ľavé, pravé a vonkajšie), v závislosti od toho, ktoré riadky si musia zachovať svoje údaje.

Zlúčiť 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ýkon:

Spojenie dvoch množín údajov

Spojenie dvoch množín údajov

Pripája sa k DataFrame

Aby sme sa mohli pripojiť k dátovému rámcu, používame .join() funkcia Táto funkcia sa používa na spojenie stĺpcov dvoch potenciálne rozdielne indexovaných dátových rámcov do jedného výsledného dátového rámca.

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ýkon:

Spojenie dvoch množín údajov

Viac informácií nájdete v našom Zlučovanie, spájanie a zreťazenie pandy tutoriál

Kompletného sprievodcu o Pandách nájdete v našom Návod na pandy .

Vizualizácia pomocou Matplotlib

Matplotlib je ľahko použiteľný a úžasná vizualizačná knižnica v Pythone. Je postavený na poliach NumPy a navrhnutý tak, aby pracoval so širším zásobníkom SciPy a pozostáva z niekoľkých grafov, ako je čiara, stĺpec, rozptyl, histogram atď.

Pyplot

Pyplot je modul Matplotlib, ktorý poskytuje rozhranie podobné MATLABu. Pyplot poskytuje funkcie, ktoré interagujú s figúrkou, t. j. vytvára figúrku, zdobí plot menovkami a vytvára vykresľovaciu oblasť na figúre.

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ýkon:

Stĺpcový graf

A barový pozemok alebo pruhový graf je graf, ktorý predstavuje kategóriu údajov s obdĺžnikovými pruhmi s dĺžkami a výškami, ktoré sú úmerné hodnotám, ktoré predstavujú. Tyčové pozemky je možné vykresliť horizontálne alebo vertikálne. Stĺpcový graf popisuje porovnania medzi jednotlivými kategóriami. Dá sa vytvoriť pomocou metódy bar().

Stĺpcový graf Python Matplotlib

Tu použijeme iba súbor údajov o dúhovke

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ýkon:

Stĺpcový graf pomocou knižnice matplotlib

Stĺpcový graf pomocou knižnice matplotlib

Histogramy

A histogram sa v podstate používa na reprezentáciu údajov vo forme niektorých skupín. Je to typ stĺpcového grafu, kde os X predstavuje rozsahy zásobníkov, zatiaľ čo os Y poskytuje informácie o frekvencii. Na vytvorenie histogramu je prvým krokom vytvorenie zásobníka rozsahov, potom rozdelenie celého rozsahu hodnôt do série intervalov a spočítanie hodnôt, ktoré spadajú do každého z intervalov. Bins sú jasne identifikované ako po sebe idúce, neprekrývajúce sa intervaly premenných. The hist() funkcia sa používa na výpočet a vytvorenie 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ýkon:

Histplot pomocou knižnice matplotlib

Bodový diagram

Bodové grafy sa používajú na pozorovanie vzťahu medzi premennými a používajú bodky na znázornenie vzťahu medzi nimi. The rozptyl() metóda v knižnici matplotlib sa používa na kreslenie 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ýkon:

Bodový graf pomocou knižnice matplotlib

Bodový graf pomocou knižnice matplotlib

Krabicový pozemok

A boxplot ,Korelácia známa aj ako krabicový a fúzový graf. Je to veľmi dobrá vizuálna reprezentácia, pokiaľ ide o meranie distribúcie údajov. Jasne zobrazuje stredné hodnoty, odľahlé hodnoty a kvartily. Pochopenie distribúcie údajov je ďalším dôležitým faktorom, ktorý vedie k lepšiemu budovaniu modelu. Ak majú údaje odľahlé hodnoty, odporúčaným spôsobom ich identifikácie a vykonania potrebných opatrení je krabicový graf. Rámcový a fúzový graf ukazuje, ako sú dáta rozložené. V tabuľke je vo všeobecnosti zahrnutých päť informácií

  • Minimum je zobrazené úplne vľavo na grafe, na konci ľavého „fúza“
  • Prvý kvartil, Q1, je úplne vľavo od poľa (ľavý fúz)
  • Medián je zobrazený ako čiara v strede rámčeka
  • Tretí kvartil, Q3, zobrazený úplne vpravo na rámčeku (pravý fúz)
  • Maximum je úplne vpravo na krabici

Znázornenie krabicového pozemku

Medzikvartilový rozsah

Medzikvartilový rozsah

Ilustrujúca krabicová zápletka

Ilustrujúca krabicová zápletka

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ýkon:

Boxplot pomocou knižnice matplotlib

Boxplot pomocou knižnice matplotlib

Korelačné tepelné mapy

2-D teplotná mapa je nástroj na vizualizáciu údajov, ktorý pomáha reprezentovať veľkosť javu vo forme farieb. Korelačná teplotná mapa je tepelná mapa, ktorá zobrazuje 2D korelačnú maticu medzi dvoma diskrétnymi rozmermi, pričom farebné bunky reprezentujú údaje zvyčajne v monochromatickej mierke. Hodnoty prvej dimenzie sa zobrazia ako riadky tabuľky, zatiaľ čo druhá dimenzia je stĺpec. Farba bunky je úmerná počtu meraní, ktoré zodpovedajú rozmerovej hodnote. Vďaka tomu sú korelačné tepelné mapy ideálne na analýzu údajov, pretože umožňujú ľahko čitateľné vzory a zvýrazňujú rozdiely a variácie v rovnakých údajoch. Korelačnej teplotnej mape, podobne ako bežnej tepelnej mape, pomáha farebný pruh, vďaka ktorému sú údaje ľahko čitateľné a zrozumiteľné.

Poznámka: Údaje tu musia byť odovzdané pomocou metódy corr(), aby sa vytvorila korelačná teplotná mapa. Taktiež samotná funkcia corr() eliminuje stĺpce, ktoré nebudú pri generovaní korelačnej tepelnej mapy k ničomu, a vyberie tie, ktoré možno použiť.

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ýkon:

Heatmap pomocou knižnice matplotlib

Heatmap pomocou knižnice matplotlib

Viac informácií o vizualizácii údajov nájdete v našich nižšie uvedených tutoriáloch –

Najlepšie Články

Kategórie

Zaujímavé Články