Začněte nyníZačněte zdarma

Předzpracování cenzorovaných dat

Jsi mořský biolog a zkoumáš délku života delfínů točivých. Máš přístup k historickým datům s daty narození a úmrtí jednotlivých delfínů. Některé označené delfíny sledovači přestali vidět poté, co migrovali do jiné části oceánu. Jiní delfíni připluli z jiného hejna a jejich přesné datum narození není známé. A někteří jsou stále naživu!

  • Pokud je datum narození NaN, jde o migranta z jiného hejna.
  • Pokud je datum úmrtí NaN, delfín buď uprchl, nebo stále žije.

DataFrame se jmenuje dolphin_df. Aby bylo možné vytvořit nový sloupec observed, který označí, zda je životnost delfína cenzorována, doplň funkci check_observed o příslušné hodnoty a pomocí .apply() ji aplikuj na dolphin_df.

pandas a numpy jsou načteny jako pd a np.

Toto cvičení je součástí kurzu

Survival Analysis in Python

Zobrazit kurz

Pokyny k cvičení

  • Vytvoř funkci check_observed, která vrátí 0, pokud je daný záznam cenzorován, a 1 v ostatních případech.
  • Vytvoř sloupec s příznakem cenzorování s názvem observed pomocí funkce check_observed.
  • Vypiš do konzole průměrnou hodnotu sloupce observed.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# Create a function to return 1 if observed 0 otherwise
def check_observed(row):
    if pd.isna(row['birth_date']):
        flag = ____
    elif pd.isna(row['death_date']):
        flag = ____
    else:
        flag = ____
    return ____
  
# Create a censorship flag column
dolphin_df[____] = dolphin_df.apply(____, axis=1)

# Print average of observed
print(np.average(____))
Upravit a spustit kód