Prétraiter les données censurées
Vous êtes biologiste marin et vous étudiez la durée de vie des dauphins à long bec. Vous avez accès à des données historiques sur leurs dates de naissance et de décès. Certains dauphins marqués ont migré vers une autre zone et le labo a perdu leur trace. D'autres sont des migrants d'un autre groupe, et leurs dates de naissance exactes sont inconnues. Certains dauphins sont toujours en vie!
- Si la date de naissance est
NaN, le dauphin est un migrant. - Si la date de décès est
NaN, le dauphin s'est soit enfui soit est encore en vie.
Le DataFrame s'appelle dolphin_df. Pour créer une nouvelle colonne appelée observed afin d'indiquer si la durée de vie d'un dauphin est censurée, complétez la fonction check_observed avec les valeurs appropriées et utilisez .apply() pour appliquer la fonction à dolphin_df.
pandas et numpy sont importés sous les noms pd et np, respectivement.
Cette activité fait partie du cours
Analyse de survie en Python
Instructions de l’exercice
- Créez une fonction
check_observedqui retourne0si le point de données est censuré, et1sinon. - Créez une colonne d'indicateur de censure appelée
observedà l'aide de la fonctioncheck_observed. - Affichez dans la console la valeur moyenne de la colonne
observed.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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(____))