DataLeaguebeta

Projekt

Cestujúci Titanicu: priemer, medián a kvartily

Kto cestoval Titanicom a koľko zaplatil? Charakteristiky polohy podľa tried, prístavov a pohlavia na 891 skutočných cestujúcich.

10 krokov~45 min180 bodov spolu

Zoznam 891 cestujúcich lode Titanic z apríla 1912 je jeden z najznámejších výučbových datasetov. V tomto projekte ním opíšeš typického cestujúceho: aký bol starý, koľko zaplatil za lístok a ako sa to líšilo medzi triedami, prístavmi a pohlaviami. Naučíš sa vybrať správnu mieru polohy, porovnávať skupiny cez groupby a čítať, čo prezrádza rozdiel medzi priemerom a mediánom.

Každý krok je samostatná úloha s kontrolou a nápovedami. Kódové kroky už majú načítané dáta, takže chyba v jednom kroku nepokazí ďalšie.

Dáta

Súbor titanic.csv: oddeľovač bodkočiarka, desatinná bodka, prázdna bunka znamená chýbajúcu hodnotu. Jeden riadok je jeden cestujúci.

stĺpecvýznamhodnoty
prezilprežil potopenieáno, nie
triedacestovná trieda1 (najdrahšia), 2, 3
pohlaviepohlaviemuž, žena
vekvek v rokoch (deti do roka majú zlomok, odhady sú s polovicou, napr. 28,5)roky, chýba pri 177 cestujúcich
surodenci_partnerpočet súrodencov a partnerov na palubepočet osôb
rodicia_detipočet rodičov a detí na palubepočet osôb
cestovnecena lístka (mohol platiť pre viac osôb)libry
pristavprístav nalodeniaCherbourg, Queenstown, Southampton
palubapaluba kabínyA až G, väčšinou chýba
samcestoval bez rodinyáno, nie

Zdroj: verejný zoznam cestujúcich Titanicu vo verzii z ukážkových dát knižnice seaborn. Názvy stĺpcov a kategórie sú preložené do slovenčiny, hodnoty sú pôvodné.

Dáta

titanic.csv891 riadkov, 10 stĺpcov

Stiahnuť CSV
Prvých 5 riadkov súboru
preziltriedapohlavieveksurodenci_partnerrodicia_deticestovnepristavpalubasam
nie3muž22.0107.25SouthamptonNaNnie
áno1žena38.01071.2833CherbourgCnie
áno3žena26.0007.925SouthamptonNaNáno
áno1žena35.01053.1SouthamptonCnie
nie3muž35.0008.05SouthamptonNaNáno

Kroky

Kroky idú za sebou. V kódových krokoch sú dáta aj výsledky predchádzajúcich krokov už pripravené.

  1. Krok 1

    Vek cestujúcich

    kód20 b.
    pandaspriemermediánmoduschýbajúce hodnoty

    Opíš vek cestujúcich. Tabuľka df je už načítaná.

    1. Do n_vek ulož počet cestujúcich so známym vekom a do podiel_chyba podiel cestujúcich, ktorým vek chýba.
    2. Do priemer_vek, median_vek a modus_vek ulož priemer, medián a modus veku (modus ako jedno číslo).
    Python sa načíta pri prvom použití editoraBalíky:pandas

    Výstup sa zobrazí po spustení.

    Spusti kód a oprav chyby, kým neprejdú všetky kontroly.

  2. Krok 2

    Koľko bolo detí

    číslo15 b.
    relatívna početnosťchýbajúce hodnotyfiltrovanie

    Kolega spustil:

    >>> (df["vek"] < 18).sum()
    113
    >>> len(df)
    891
    

    Koľko percent cestujúcich so známym vekom bolo mladších ako 18 rokov? Zadaj na jedno desatinné miesto. Ďalšie potrebné číslo nájdeš v predchádzajúcom kroku.

    %

    Desatinnú čiarku aj bodku akceptujeme.

  3. Krok 3

    Vek podľa triedy

    kód20 b.
    pandasgroupbypriemermedián

    Porovnaj vek cestujúcich v jednotlivých triedach.

    Do vek_trieda ulož tabuľku, ktorá pre každú triedu obsahuje priemer, medián a počet známych vekov (stĺpce mean, median, count).

    Python sa načíta pri prvom použití editoraBalíky:pandas

    Výstup sa zobrazí po spustení.

    Spusti kód a oprav chyby, kým neprejdú všetky kontroly.

  4. Krok 4

    Čo platí o veku v triedach

    výber15 b.
    mediánporovnanie skupíninterpretácia

    Výsledok z predchádzajúceho kroku:

    triedapriemermediánznámych vekov
    138,2337186
    229,8829173
    325,1424355

    Ktoré tvrdenie je správne?

    Vyber jednu možnosť.
  5. Krok 5

    Cestovné podľa prístavu

    kód25 b.
    pandasgroupbypriemermediánodľahlé hodnoty

    Porovnaj cenu lístka podľa prístavu, kde cestujúci nastúpil.

    1. Do cestovne_pristav ulož pre každý prístav priemer, medián a počet cestovného (stĺpce mean, median, count).
    2. Do rozdiel ulož pre každý prístav rozdiel priemeru a mediánu.
    3. Do najvacsi ulož názov prístavu, kde je tento rozdiel najväčší.
    Python sa načíta pri prvom použití editoraBalíky:pandas

    Výstup sa zobrazí po spustení.

    Spusti kód a oprav chyby, kým neprejdú všetky kontroly.

  6. Krok 6

    Prečo je priemer dvakrát vyšší

    výber15 b.
    priemermediántvar rozdelenia

    V Cherbourgu je priemerné cestovné 59,95 libry, ale medián len 29,70 libry.

    Čo z toho vyplýva?

    Vyber jednu možnosť.
  7. Krok 7

    Kvartily veku mužov a žien

    kód20 b.
    pandaskvartilypercentilygroupby

    Porovnaj rozloženie veku mužov a žien pomocou kvartilov.

    1. Do kvartily ulož tabuľku s dolným kvartilom, mediánom a horným kvartilom veku pre mužov a ženy (riadky muž a žena, stĺpce 0.25, 0.5, 0.75).
    2. Do p90 ulož 90. percentil veku všetkých cestujúcich.
    Python sa načíta pri prvom použití editoraBalíky:pandas

    Výstup sa zobrazí po spustení.

    Spusti kód a oprav chyby, kým neprejdú všetky kontroly.

  8. Krok 8

    Typický lístok v 2. triede

    číslo10 b.
    mediángroupby

    Kolega spustil:

    >>> df.groupby("trieda")["cestovne"].agg(["mean", "median"]).round(2)
             mean  median
    trieda
    1       84.15   60.29
    2       20.66   14.25
    3       13.68    8.05
    

    Aký je medián cestovného v 2. triede v librách? Zadaj na dve desatinné miesta.

    libier

    Desatinnú čiarku aj bodku akceptujeme.

  9. Krok 9

    Ktorá miera pre triedu

    výber15 b.
    ordinálna premennámediánmodusškály merania

    Premenná trieda má hodnoty 1, 2 a 3. Pandas pre ňu vypočíta:

    >>> df["trieda"].mean(), df["trieda"].median(), df["trieda"].mode()[0]
    (2.308641975308642, 3.0, 3)
    

    Ktorá veta o type cestujúcich podľa triedy dáva zmysel?

    Vyber jednu možnosť.
  10. Krok 10

    Typický cestujúci podľa triedy

    text25 b.
    interpretáciamediánpriemerporovnanie skupín

    Napíš krátky odsek (4 až 7 viet) pre sprievodcu múzeom: aký bol typický cestujúci v 1., 2. a 3. triede z hľadiska veku a ceny lístka. Uveď konkrétne čísla z tohto projektu, zdôvodni, ktorú mieru polohy si zvolil, a spomeň, na čo si treba pri týchto číslach dať pozor.

    0 slov, minimum 50ešte 50 slov