Pre-elabora i dati censurati
Sei un/una biologo/a marino/a che studia la durata della vita dei delfini spinner. Hai a disposizione dati storici con le loro date di nascita e di morte. Alcuni delfini marcati sono migrati in un’altra zona e il laboratorio li ha persi di vista. Alcuni delfini sono migranti da un altro branco e le loro date di nascita esatte non sono note. Alcuni delfini sono ancora vivi!
- Se la data di nascita è
NaN, il delfino è un migrante. - Se la data di morte è
NaN, il delfino o è scappato o è ancora vivo.
Il DataFrame si chiama dolphin_df. Per creare una nuova colonna chiamata observed che indichi se la durata di vita di un delfino è censurata, completa la funzione check_observed con i valori appropriati e usa .apply() per applicarla a dolphin_df.
pandas e numpy sono già importati come pd e np, rispettivamente.
Questo esercizio fa parte del corso
Analisi di sopravvivenza in Python
Istruzioni dell'esercizio
- Crea una funzione
check_observedche restituisca0se il punto dati è censurato e1altrimenti. - Crea una colonna di flag di censura chiamata
observedusando la funzionecheck_observed. - Stampa nella console il valore medio della colonna
observed.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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(____))