CommencezCommencez gratuitement

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

Voir le cours

Instructions de l’exercice

  • Créez une fonction check_observed qui retourne 0 si le point de données est censuré, et 1 sinon.
  • Créez une colonne d'indicateur de censure appelée observed à l'aide de la fonction check_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(____))
Modifier et exécuter le code