Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

2. diel - Pandas - Tvorba vlastného datasetu

V predchádzajúcej lekcii, Úvod do knižnice Pandas v Pythone , sme sa dozvedeli, ako nainštalovať knižnicu Pandas a na čo ju môžeme využiť.

V tomto tutoriále knižnice Pandas v Pythone sa zameriame na to, ako vytvoriť vlastný dataset. Najprv si vysvetlíme funkciu DataFrame() a potom si ju vyskúšame na reálnych príkladoch.

Tvorba datasetu v Pandas

Začnime tým, že si náš otvorený projekt v Jupyter Notebooku pomenujeme. Klikneme na názov. Otvorí sa nám okno, kde si svoj projekt pomenujeme napríklad Prvni_dataset.ipynb. Projekt sa nám automaticky ukladá do zložky, z ktorej sme Jupyter Notebook spúšťali.

Tabuľky a grafy - Pandas - Vizualizácia dát v Pythone

Pandas DataFrame()

Na prácu s datasetom využijeme funkcie DataFrame(). Funkcia vyzerá takto:

pandas.DataFrame(data, index, columns)

V parametri data je sada informácií, z ktorej budeme čerpať do nášho dataframu. Dáta môžu byť v podobe listu, slovníka a pod. Parameter index slúži na očíslovanie našich položiek. Môže zostať nevyplnený av takom prípade bude náš zoznam začínať od nuly. A konečne parameter columns slúži na pomenovanie stĺpcov. Opäť platí, že pokiaľ nebude vyplnený, budú stĺpce pomenované číselne nulou počnúc.

Začneme tým, že vytvoríme jednoduchý dataframe. Najprv vytvoríme premennú data, do ktorej vložíme čísla od jednotky do päťky. Zapísaná premenná bude teda takto:

data = [1,2,3,4,5]

Teraz doplníme náš kód o vyššie spomínanú funkciu. V prvej lekcii sme importovali pandas pod skratkou pd, náš kód teda bude vyzerať takto:

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np

data = [1,2,3,4,5]
df = pd.DataFrame(data)
print(df)

Keď stlačením Shift + Enter spustíme kód, zobrazí sa nám tabuľka: Prvá_dataframe - Pandas - Vizualizácia dát v Pythone

Táto tabuľka je však pomerne neprehľadná. Môžeme ju sprehľadniť napríklad tým, že pomenujeme stĺpce. V našom prípade teda jeden stĺpec. Rovnako ju môžeme upraviť, aby číslovanie začínalo od jednotky, nie od nuly. Kód potom bude vyzerať takto:

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np

data = [1,2,3,4,5]
columns = ["Cisla"]
df = pd.DataFrame(data, columns = columns)
df.index += 1
print(df)

Poďme si teraz prebrať zmeny, ktoré sme v kóde urobili. Vytvorili sme zoznam columns, do ktorého sme vložili všetky nadpisy. Ten sme následne vyvolali cez funkciu DataFrame(). Ďalej sme na predposlednom riadku upravili index zvýšením každého čísla o 1. Rovnaký efekt by mal aj zápis df.index = df.index + 1:

Prvá_tabuľka - Pandas - Vizualizácia dát v Pythone

Nákupný zoznam

Už vieme vytvoriť dataframe o jednom stĺpci. Skúsime si teda vytvoriť dataframe zložitejšie. Predveďme si to na príklade nákupného zoznamu. Pre nákupný zoznam budeme potrebovať typ položky a množstvo. To docielime tak, že si vytvoríme premennú, do ktorej vložíme niekoľko sérií hranatých zátvoriek. V každej hranatej zátvorke bude typ potraviny a jej množstvo vo formáte ["potravina", množství]. Zatiaľ čo potravina je dátového typu string (preto je v úvodzovkách), množstvo je integer (preto bez úvodzoviek). Vytvoríme teda nákupný zoznam, ktorý bude vyzerať takto:

nakup = [["rohlik", 10],

          ["jablka", 8],

          ["maslo", 1],

          ["sunka", 200],

          ["mleko", 1],

          ["vejce", 15]
        ]

Aby sme zo svojho zoznamu urobili dataframe, využijeme opäť funkciu DataFrame(). Naše dáta sa teraz skrývajú pod premenou nakup. Aby sme si dataframe urobili ešte prehľadnejšie, pomenujeme stĺpce. Výsledný kód bude vyzerať takto:

nakup = [["rohlik", 10],

          ["jablka", 8],

          ["maslo", 1],

          ["sunka", 200],

          ["mleko", 1],

          ["vejce", 15]
        ]
df = pd.DataFrame(nakup, columns =['Typ', 'Mnozstvi'])
df.index += 1
print(df)

Keď náš kód spustíme, zobrazí sa nám prehľadná tabuľka nákupného zoznamu:

Pandas - Vizualizácia dát v Pythone

Hoci máme teraz peknú tabuľku a sami sa v nej určite vyznáme, niekto ďalší by s nákupom mohol mať problém, pretože by nevedel, čo znamená uvedené číslo pri každej potravine. Pridajme teda pre istotu ďalší stĺpec, ktorý bude obsahovať informáciu, o počet čoho sa jedná. To docielime v dvoch krokoch. Najprv do každej zátvorky pridáme informáciu, čoho sa ono množstvo týka. Každá zátvorka teraz bude mať formát ["potravina", množství, "čeho"]. Ďalej musíme pridať tretí názov stĺpca. Pokiaľ by nezodpovedal počet stĺpcov a počet názvov stĺpcov, dostaneme chybovú hlášku. A je jedno, či ho pomenujeme napríklad Jednotka alebo ho necháme prázdny:

nakup = [["rohlik", 10, "kusu"],

          ["jablka", 8, "kusu"],

          ["maslo", 1, "kusu"],

          ["sunka", 200, "gramu"],

          ["mleko", 1, "litru"],

          ["vejce", 15, "kusu"]
        ]
df = pd.DataFrame(nakup, columns =["Typ", "Mnozstvi", ""])
df.index += 1
print(df)

Výsledný nákupný zoznam bude teda vyzerať takto:

Pandas - Vizualizácia dát v Pythone

Cvičebný plán

Dataframe si môžeme vytvoriť z rôznych dátových typov. Teraz si na príklade cvičebného plánu ukážeme, ako vytvoriť dataframe zo slovníka. V slovníku priraďujeme kľúču nejakú hodnotu. My použijeme ako kľúč typ cviku a ako hodnotu počet, ktorý sme vykonali za nami zvolené obdobie. Slovník s našimi záznamami z cvičenia môže vyzerať napríklad takto:

cvik = {"klik": 20,

          "drep": 10,

          "sed-leh": 10,

          "sklapovacka": 10,

          "beh (km)": 3,

          "jizda na kole (km)": 15,

          "plavani (m)": 300
        }

Keď z neho vyrobíme dataframe rovnakým spôsobom ako predtým zo zoznamu, bude náš kód vyzerať takto:

cvik = {"klik": 20,

          "drep": 10,

          "sed-leh": 10,

          "sklapovacka": 10,

          "beh (km)": 3,

          "jizda na kole (km)": 15,

          "plavani (m)": 300
        }
df = pd.DataFrame([cvik])
df.index += 1
print(df)

Výsledok bude vyzerať takto:

Pandas - Vizualizácia dát v Pythone

Pokiaľ existuje práve jedna hodnota ku každému kľúču, umiestnime premennú cvik do hranatej zátvorky, čím z nej efektívne urobíme zoznam. Pokiaľ nás však neopadla chuť cvičiť a chceme priraďovať viac hodnôt ku každému cviku, musíme premennú cvik zo zátvorky vybrať a naopak umiestniť do hranatých zátvoriek všetky hodnoty k našim kľúčom. Povedzme, že sa nám podarilo cvičiť už štyri týždne v kuse. Preto umiestnime do každej zátvorky štyri hodnoty, hoci občas nulové:

cvik = {"klik": [20, 20, 50, 10],

          "drep": [10, 0, 15, 0],

          "sed-leh": [10, 20, 25, 30],

          "sklapovacka": [10, 20, 10, 0],

          "beh (km)": [3, 5, 0, 4],

          "jizda na kole (km)": [15, 10, 25, 0],

          "plavani (m)": [300, 0, 0, 800],
        }
df = pd.DataFrame(cvik)
df.index += 1
print(df)

Výsledný dataframe potom vyzerá takto:

Pandas - Vizualizácia dát v Pythone

A sme na konci lekcie. Naučili sme sa, že práca s funkciou Pandas DataFrame() nie je nijako zvlášť komplikovaná a pritom s ňou už teraz dokážeme vytvárať prehľadné tabuľky.

V budúcej lekcii, Pandas – Základné vlastnosti DataFrames , sa dozvieme, aké sú základné vlastnosti DataFramov knižnice Pandas a ukážeme si základnú prácu so stĺpcami a riadkami.


 

Predchádzajúci článok
Úvod do knižnice Pandas v Pythone
Všetky články v sekcii
Pandas - Vizualizácia dát v Pythone
Preskočiť článok
(neodporúčame)
Pandas – Základné vlastnosti DataFrames
Článok pre vás napísal Michal Souček
Avatar
Užívateľské hodnotenie:
1 hlasov
Michal
Aktivity