Toto je statické zobrazenie, ak chcete Notebook spustiť, prihláste sa do prostredia Data Lab.
Úlohy k prednáške 5 – Dataset Penguins (seaborn)¶
V tomto notebooku si precvičíme predspracovanie dát, prácu s chýbajúcimi hodnotami, tvorbu nových atribútov a využívanie krížových či kontingenčných tabuliek. Príkladom bude dataset Penguins zo seaborn
, ktorý obsahuje informácie o rôznych druhoch tučniakov.
Import a príprava prostredia¶
In [1]:
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
%matplotlib inline
sns.set() # základný štýl pre grafy
V nasledujúcich úlohách budeme pracovať s datasetom Penguins, ktorý načítame priamo cez seaborn
.
1. Načítanie dát a základný prieskum¶
Úloha:
- Načítajte dataset
penguins
pomocousns.load_dataset("penguins")
. - Vytvorte objekt typu DataFrame s názvom
df_penguins
. - Vypíšte:
- Rozmer datasetu (počet riadkov, počet stĺpcov)
- Hlavné informácie o DataFrame – typy stĺpcov, koľko je neprázdnych hodnôt
- Základné štatistiky o číselných stĺpcoch.
- Pozrite si prvých 5 riadkov.
Tip: Okrem
describe()
pre číselné stĺpce môžete využiť ajdescribe(include='object')
na zobrazenie štatistík pre kategorické stĺpce.
In [1]:
# YOUR CODE
2. Indexovanie, výber stĺpcov a riadkov¶
Úloha:
- Zistite, ktoré stĺpce v DataFrame
df_penguins
obsahujú informácie o tele tučniaka:bill_length_mm
,bill_depth_mm
,flipper_length_mm
,body_mass_g
. Uložte si len tieto 4 stĺpce do novej premennej napr.df_physical
. - Zo stĺpcov v
df_physical
vyberte len tie riadky, ktoré obsahujú neprázdne hodnoty vo všetkých uvedených stĺpcoch (aby sme pracovali len s kompletne vyplnenými údajmi). - Skúste vybrať prvých 10 riadkov, v ktorých je
body_mass_g
vyššie než priemerná hodnota v datasete.
Výsledok vypíšte.
In [2]:
# YOUR CODE
3. Práca s chýbajúcimi hodnotami¶
Dataset Penguins môže obsahovať chýbajúce hodnoty najmä v stĺpci sex
.
Úloha:
- Skontrolujte, v ktorých stĺpcoch a v akom množstve sa nachádzajú chýbajúce hodnoty.
- Vytvorte kópiu DataFrame s názvom
df_penguins_dropped
, z ktorej vyhodíte všetky riadky, ktoré majúNaN
hodnotu v stĺpcisex
.- Porovnajte, o koľko riadkov je teraz menej.
- Vytvorte ešte druhú kópiu
df_penguins_filled
, kde chýbajúce hodnoty vsex
nahradíte najfrekventovanejšou hodnotou (tzv. modus). - Ktoré riešenie je z hľadiska informácií v datasete vhodnejšie?
In [3]:
# YOUR CODE
4. Tvorba (transformácia) nových stĺpcov¶
Úloha:
- Vytvorte nový stĺpec
bill_ratio
, ktorý bude pomerbill_length_mm
kbill_depth_mm
, napr.bill_ratio = bill_length_mm / bill_depth_mm
. - Vytvorte stĺpec
body_mass_kg
, ktorý budebody_mass_g
prepočítaný na kilogramy (t. j.body_mass_g / 1000
). - Vytvorte diskretizovaný (kategorický) stĺpec
mass_group
na základe stĺpcabody_mass_kg
:light
(hmotnosť < 4 kg),medium
(hmotnosť >=4 kg a <5 kg),heavy
(hmotnosť >= 5 kg).
- Skontrolujte, koľko záznamov tučniakov spadá do každej hmotnostnej kategórie (value_counts).
In [4]:
# YOUR CODE
5. Krížové a kontingenčné tabuľky¶
Úloha:
- Vytvorte krížovú tabuľku medzi novým stĺpcom
mass_group
a pôvodným stĺpcomsex
. Zistite, koľko tučniakov mužského/ženského pohlavia spadá do každej hmotnostnej kategórie. - Vytvorte pivot tabuľku , kde zistíte priemernú hodnotu pomeru zobáka pre kombinácie hmotnostnej kategórie a druhu tučniaka.
In [5]:
# YOUR CODE
6. Pokročilejšie dotazy a skupinové štatistiky¶
Úloha:
- Zgrupujte dáta podľa
island
aspecies
(ostrov a druh tučniaka). - Zobrazte priemernú dĺžku zobáka (
bill_length_mm
), priemernú hmotnosť (body_mass_g
) pre každú kombináciu. - Ktorý ostrov a druh tučniaka má najväčšiu priemernú hmotnosť?
- Skúste aj
size()
alebocount()
a porovnajte, koľko tučniakov zodpovedá jednotlivým kombináciám.
In [6]:
# YOUR CODE
In [ ]: