IniziaInizia gratis

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

Visualizza il corso

Istruzioni dell'esercizio

  • Crea una funzione check_observed che restituisca 0 se il punto dati è censurato e 1 altrimenti.
  • Crea una colonna di flag di censura chiamata observed usando la funzione check_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(____))
Modifica ed esegui il codice