CommencerCommencer gratuitement

Prétraiter des données censurées

Vous êtes biologiste marin et vous étudiez la longévité des dauphins à long bec. Vous disposez de données historiques avec leurs dates de naissance et de décès. Certains dauphins marqués ont migré vers une autre zone et le laboratoire a perdu leur trace. D’autres sont des migrants d’un autre groupe, et leurs dates exactes de naissance sont inconnues. Certains dauphins sont encore 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 enfui ou est encore en vie.

Le DataFrame s’appelle dolphin_df. Pour créer une nouvelle colonne observed indiquant 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 l’appliquer à dolphin_df.

pandas et numpy sont importés sous les alias pd et np.

Cet exercice fait partie du cours

Analyse de survie en Python

Afficher le cours

Instructions

  • Créez une fonction check_observed qui renvoie 0 si le point de donnée est censuré, et 1 sinon.
  • Créez une colonne d’indicateur de censure appelée observed à l’aide de la fonction check_observed.
  • Affichez la valeur moyenne de la colonne observed dans la console.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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