Pré-processar dados censurados
Você é um biólogo marinho estudando a expectativa de vida de golfinhos-rotadores. Você tem acesso a dados históricos com as datas de nascimento e morte. Alguns golfinhos marcados migraram para outra região e o laboratório perdeu o contato. Alguns golfinhos são migrantes de outro grupo, e suas datas exatas de nascimento são desconhecidas. Alguns golfinhos ainda estão vivos!
- Se a data de nascimento for
NaN, o golfinho é migrante. - Se a data de morte for
NaN, o golfinho ou fugiu ou está vivo.
O DataFrame se chama dolphin_df. Para criar uma nova coluna chamada observed para indicar se a vida do golfinho está censurada, preencha a função check_observed com os valores apropriados e use .apply() para aplicar a função ao dolphin_df.
pandas e numpy estão carregados como pd e np, respectivamente.
Este exercício faz parte do curso
Análise de Sobrevivência em Python
Instruções do exercício
- Crie uma função
check_observedpara retornar0se o ponto de dado estiver censurado e1caso contrário. - Crie uma coluna de indicador de censura chamada
observedusando a funçãocheck_observed. - Imprima no console o valor médio da coluna
observed.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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(____))