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
Instrucciones del ejercicio
- Crea una función
check_observedque devuelva0si el dato está censurado y1en caso contrario. - Crea una columna de indicador de censura llamada
observedusando la funcióncheck_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(____))