ComenzarEmpieza gratis

Preprocesa datos censurados

Eres una bióloga marina que estudia la esperanza de vida de los delfines tornillo. Tienes acceso a datos históricos con sus fechas de nacimiento y defunción. Algunos delfines marcados migraron a otra zona y el laboratorio les perdió la pista. Otros son migrantes de otra manada y se desconoce su fecha exacta de nacimiento. ¡Algunos siguen vivos!

  • Si la fecha de nacimiento es NaN, el delfín es migrante.
  • Si la fecha de defunción es NaN, el delfín o bien se escapó o sigue vivo.

El DataFrame se llama dolphin_df. Para crear una nueva columna llamada observed que marque si la vida del delfín está censurada, completa la función check_observed con los valores adecuados y usa .apply() para aplicarla a dolphin_df.

pandas y numpy están cargados como pd y np, respectivamente.

Este ejercicio forma parte del curso

Análisis de supervivencia en Python

Ver curso

Instrucciones del ejercicio

  • Crea una función check_observed que devuelva 0 si el dato está censurado y 1 en caso contrario.
  • Crea una columna de indicador de censura llamada observed usando la función check_observed.
  • Imprime en la consola el valor medio de la columna observed.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# 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(____))
Editar y ejecutar código