You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Při agregaci se musíme nejprve rozhodnout, podle jakého sloupce chceme řádky sloučit. V našem případě to bude `branded_food_category`. Poté vybereme sloupec, jehož hodnoty mají být sloučeny, a početní operaci, která k tomu bude použita. Vybereme si sloupec `amount` (množství výživné látky) a operaci výpočtu aritmetického průměru (`.mean()`). Zápis je uvedený v řádku níže.
Ve výsledné tabulce vidíme průměrné množství proteintů v jednotlivých kategoriích potravin.
@@ -64,5 +64,5 @@ Dále se pojďme podívat, které kategorie potravin obsahuje v průměru nejví
64
64
Při řazení dat v původní tabulce je třeba uvést, podle jakého sloupečku chceme data seřadit. Název sloupce nebo sloupců zadáváme jako první parametr. Pokud chceme řadit podle více sloupců, vložíme jejich názvy do seznamu.
Copy file name to clipboardExpand all lines: python-pro-data-1/agregace/excs/tuky.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,4 +3,4 @@ title: Lipidy a tuky
3
3
demand: 3
4
4
---
5
5
6
-
Podívej se nyní na to, které kategorie potravin obsahují nejvíce lipidů (tuků). Nejprve pomocí dotazu vytvořit novou tabulku `food_merged_brands_lipid`, do které pomocí dotazu vlož pouze řádky, které mají jako název výživné látky hodnotu `Total lipid (fat)`. Poté proveď agregaci podle návu kategorie a seřaď výslednou tabulku tak, aby nahoře byly vidět kategorie s největším počtem tuků. Porovnej si výslednou tabulku s tabulkou `food_merged_brands_protein_agg`, kterou jsme vytvořili v rámci lekce. Podívej se, zda se některé kategorie objevují v obou tabulkách.
6
+
Podívej se nyní na to, které kategorie potravin mají nejvyšší průměrné množství tuků. Nejprve pomocí dotazu vytvořit novou tabulku `food_merged_brands_lipid`, do které pomocí dotazu vlož pouze řádky, které mají jako název výživné látky hodnotu `Total lipid (fat)`. Poté proveď agregaci podle návu kategorie s tím, že vypočítej průměrné množství tuků. Výslednou tabulku seřaď sestupně.
Copy file name to clipboardExpand all lines: python-pro-data-1/agregace/excs/vyrobci.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,4 +3,4 @@ title: Výrobci a kategorie
3
3
demand: 3
4
4
---
5
5
6
-
Nyní uvažuj, že si chceme udělat přehled o tom, jaký výrobce produkuje jaké typy potravin. Proveď agregaci tabulky `food_merged_brands` podle dvou sloupců: `brand_owner` a `branded_food_category`. Sloupce musíš metodě `food_merged_brands` zadat jako seznam, tj. musíš použít hranaté závorky. Dále vyber sloupec `fdc_id` pro provedení agregace a použij agregaci `nunique()`, který vrátí počet unikátních hodnot. Nakonec použij metodu `sort_values` s tím, že chceš data seřadit sestupně.
6
+
Nyní uvažuj, že si chceme udělat přehled o tom, jaký výrobce produkuje jaké typy potravin. Proveď agregaci tabulky `food_merged_brands` podle dvou sloupců: `brand_owner` a `branded_food_category`. Sloupce musíš metodě `groupby` zadat jako seznam, tj. musíš použít hranaté závorky. Dále vyber sloupec `fdc_id` pro provedení agregace a použij agregaci `nunique()`, která vrátí počet unikátních hodnot. Nakonec použij metodu `sort_values` s tím, že chceš data seřadit sestupně.
Graf vytvoříme pomocí funkce `countplot`. Jako první hodnotu zadáme název tabulku s daty a jako parametr `x` název sloupce, podle kterého se vygenerují sloupce grafu. V předchozí lekci to odpovídalo sloupci, který jsme zadávali do metody `groupby()`. Výsledek uložíme do proměnné `ax`. Jde o zkratku slova axis, která obsahuje odkaz na vytvořený graf. Pomocí metody `tick_params()` otočíme popisky osy *x* o 90 stupňů, protože jinak by se popisy vzájemně překrývaly.
Pokud píšeme program jako skript, je nutné ještě přidat řádek `plt.show()`. Ten zajistí, že se graf zobrazí v samostatném okně. Pozor ale na to, že program se pozastaví, dokud okno s grafem neuzavřeme. Pokud používáme Jupyter notebook, tento řádek přidávat nemusíme.
30
+
Alternativní možností je zobrazení grafu "naležato".
Pokud píšeme program jako skript, je nutné ještě přidat řádek `plt.show()` a do importů přidat `import matplotlib.pyplot as plt`. Ten zajistí, že se graf zobrazí v samostatném okně. Pozor ale na to, že program se pozastaví, dokud okno s grafem neuzavřeme. Pokud používáme Jupyter notebook, tento řádek přidávat nemusíme.
31
37
32
38
Vygenerovaný graf je poměrně špatně čitelný. Můžeme ale zkusit názvy kategorií zkrátit. V rámci toho rovnou provedeme překlad do češtiny. K přejmenování použijeme metodu `.replace()`. Hodnoty můžeme vložit jako slovník. Vložíme do něj původní hodnotu a jejích náhradu, obojí opět oddělíme dvojtečkou. Protože chceme přejmenovat více hodnot, vložíme více dvojic, které oddělíme čárkou.
Pokud bychom chtěli graf zveřejnit například v nějakém článku, je vhodné jej doplnit o popisky. K tomu využijeme metodu `set`, které nastavíme následující parametry:
@@ -64,7 +67,7 @@ Pokud bychom chtěli graf zveřejnit například v nějakém článku, je vhodn
Dále se můžeme podívat, jak se liší průměrné množství proteinu pro jednotlivé kategorie potravin. K tomu slouží `barplot`. Ten vypočte průměrné hodnoty dle sloupce, který zadáme jako parametr `x`. Parametr `y` udává, ze kterého sloupce se vypočítá průměr, který udává výšku sloupců. Černá čára v grafu je označovaná jako `errorbar`. Vychází z předpokladu, že v datech máme vždy jen vzorek dat, například v našich datech je jen část potravin, které jsou na trhu k dostání. Sloupec, který udává výšku sloupce, je tedy v podstatě jen odhadem hodnoty, kterou bychom zjistili, pokud bychom analyzovali všechny dostupné potraviny na trhu. Černá čára pak udává tzv. interval spolehlivosti, tedy interval, ve kterém by se ten průměr nacházel s pravděpodobností 95 %.
ax.set(xlabel="Kategorie", ylabel="Množství proteinu (g)", title="Průměrné množství proteinů v potravinách")
102
104
```
@@ -105,20 +107,11 @@ Další z oblíbených grafů je krabicový graf :term{cs="krabicový graf" en="
105
107
106
108
- Černá čára uprostřed udává průměr. Průměrná hodnota pro obě látky je tedy přibližně stejná.
107
109
- Modré obdélníky udávají rozsah, ve kterém se nachází 50 % hodnot. Dolní hrana obdélníku odděluje 25 % nejmenších hodnot od zbývajících 75 %. Horní hrana obdélníku odděluje 75 % nejmenších hodnot od zbývajících 25 %. Tento obdélník ukazuje různorodost dat. Na našem příkladu vidíme, že z pohledu množství proteinů jsou jednotlivé energetické tyčinky více různorodé než z pohledu množství lipidů (tuků).
108
-
- Černé čáry jsou označované jako *whisker* (kočičí vousy). V našem případě fungují podobně jako obdélník, ale oddělují vždy 5 % nejmenších a největších hodnot od zbývajících 90 %.
110
+
- Černé čáry jsou označované jako *whisker* (kočičí vousy). V našem případě fungují podobně jako obdélník, ale oddělují vždy 5 % nejmenších a největších hodnot od zbývajících 90 % (tj. od 95 % výše).
109
111
- Zbývajících 10 % hodnot je vykresleno pomocí černých teček.
110
112
111
113
Aby byl graf celý v jednom jazyce, pojďme nejprve přejmenovat názvy výživných látek do češtiny
0 commit comments