Förbearbeta censurerad data
Du är marinbiolog och studerar spinnerdelfiners 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
NaNhar 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
Övningsinstruktioner
- Skapa en funktion
check_observedsom returnerar0om datapunkten är censurerad, och1annars. - Skapa en censureringsflagg-kolumn kallad
observedmed hjälp av funktionencheck_observed. - Skriv ut medelvärdet för kolumnen
observedi 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(____))