
Strojové učenie v Pythone 2 – knižnica Pandas na prácu s údajmi
V úvodnom článku sme predstavili možnosti prostredia Google Colab., ktoré umožňuje spúšť kód na cloudových serveroch Googlu, takže môžete výkon grafických procesorov a procesorov TPU bez ohľadu na výkon vášh počítača. Námetom tohto dielu je knižnica Pandas na prácu s údajmi vrátane štatistík a analýz.
Postup vytvorenia príkladov je v krátkom videu
Pandas https://pandas.pydata.org/ je flexibilné prostredie na výpočty ,analýzy a manipuláciu s údajmi. Pandas využíva dva typy dátových štruktúr Series a DataFrame.
Series pracujú s údajmi v podobe dvojice atribútov index a hodnota.
DataFrame umožňujú pracovať s údajmi v tabuľkách s viacerými stĺpcami (atribútmi). Dátová štruktúra tabuliek je štandardná - obsahuje riadky a stĺpce nad ktorými je možné vykonávať rôzne matematické, štatistické aj analytické operácie.
Začneme jednoduchým príkladom v ktorom vytvoríme dátovú štruktúru Series, čo je v podstate slovník (dictionary), ktorý obsahuje údaje v tvare index – hodnota. Zadáme len hodnoty, indexy začínajúce nulou budú priradené automaticky. Ako prvý krok je potrebné importovať knižniceu Pandas. Táto využíva knižnicu NumPy
Pokračujeme vytvorením tabuľky s definovanými hodnotami. V tomto príklade to budú ceny PC komponentov
V tomto prípade môžeme zadávať údaje aj v takomto tvare. Pridali sme aj jeden záznam, v ktorom nepoznáme cenu jednej položky. Vtedy zadáme hodnotu None, čo je ekvivalent Null v klasických databázach. Nie je to nula, ale nejaká hodnota, ktorú v daný okamih nepoznáme.
Pre výpis dátového rámca môžete použiť niekoľko príkazov
Pre výpis stĺpca použijeme príkaz v tvare
Počet záznamov zistíme príkazom
Môžeme zistiť aj dátové typy
V ďalšom bloku kódu vytvoríme DataFrame obsahujúci údaje v matici 2 stĺpce a 6 riadkov. V prvom stĺpci bude vek dieťaťa a v druhom výška. Vytvoríme inštanciu triedy pd.DataFrame na vygenerovanie DataFrame. Trieda má dva argumenty. Prvý argument obsahuje údaje na naplnenie buniek. Bunka kódu volá np.array na vygenerovanie poľa 6x2 NumPy. Druhý argument definuje názvy stĺpcov.
Môžete pridávať ďalšie stĺpce, v našom prípade napríklad váhu
Stĺpec môže obsahovať aj odvodené hodnoty, napríklad váha s oblečením, na ktoré pripočítame 0,5 kg
Môžeme vypísať len niektoré záznamy (riadky). Napríklad určitý počet od začiatku, od konca, rozsah riadkov a podobne
V ďalšom príklade vytvoríme tabuľku 4 stĺpce x 6 riadkov, ktoré budú obsahovať akože namerané hodnoty veličín, avšak naplníme ich náhodnými číslami od 0 do 100 (vrátane)
nazvy_stlpcov =['Výška', 'Teplota', 'Tlak', 'Vlhkosť']
udaje = np.random.randint(low=0, high=101, size=(6, 4))
df = pd.DataFrame(data=udaje, columns= nazvy_stlpcov)
print(df)
Môžeme zistiť štatistické údaje, napríklad priemerné a maximálne hodnoty pre všetky stĺpce
Pre konkrétne stĺpce
Pandas podporuje dva rôzne spôsoby duplikácie DataFrame odkazovanie a kopírovanie
Odkazovanie: Ak priradíte DataFrame k novej premennej, každá zmena DataFrame alebo novej premennej sa prejaví aj v druhej premennej.
Kopírovanie: Metóda pd.DataFrame.copy, vytvorí nezávislú kópiu. Zmeny pôvodného DataFrame, alebo kópie sa neprejavia v druhom DataFrame.
V budúcom pokračovaní ukážeme načítanie údajov zo súboru typu CSV, čiže hodnoty oddelené čiarkou. Do tohto formátu môžeme vyexportovať údaje z Excelu, alebo z relačných databáz
Predchádzajúce diely:
Strojové učenie v Pythone 1 – prostredie Google Colab
Zobrazit Galériu