Kom igångKom igång gratis

Förbearbeta censurerad data

Du är marinbiolog och studerar spinner­delfiners livslängd. Du har tillgång till historiska data med information om deras födelse- och dödsdatum. Vissa märkta delfiner migrerade till en annan del av havet och laboratoriet tappade bort dem. Vissa delfiner är invandrare från ett annat flock och deras exakta födelsedatum är okända. Och en del delfiner lever fortfarande!

  • Om födelsedatumet är NaN är delfinen en invandrare.
  • Om dödsdatumet är NaN har delfinen antingen rymt eller lever fortfarande.

DataFrame-objektet heter dolphin_df. Skapa en ny kolumn kallad observed för att flagga om en delfins livstid är censurerad – fyll i funktionen check_observed med lämpliga värden och använd .apply() för att applicera funktionen på dolphin_df.

pandas och numpy är inladdade som pd respektive np.

Den här övningen är en del av kursen

Överlevnadsanalys i Python

Visa kurs

Övningsinstruktioner

  • Skapa en funktion check_observed som returnerar 0 om datapunkten är censurerad, och 1 annars.
  • Skapa en censureringsflagg-kolumn kallad observed med hjälp av funktionen check_observed.
  • Skriv ut medelvärdet för kolumnen observed i konsolen.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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(____))
Redigera och kör kod