ÎncepețiÎncepe gratuit

Preprocesarea datelor censurate

Ești biolog marin și studiezi durata de viață a delfinilor rotitori. Ai acces la date istorice cu datele de naștere și de deces ale acestora. Unii delfini marcați au migrat într-o altă zonă a apei, iar laboratorul le-a pierdut urma. Alți delfini provin dintr-un alt grup, iar datele lor exacte de naștere sunt necunoscute. Unii delfini sunt încă în viață!

  • Dacă data nașterii este NaN, delfinul este un migrant.
  • Dacă data decesului este NaN, delfinul fie a fugit, fie este în viață.

DataFrame-ul se numește dolphin_df. Pentru a crea o nouă coloană numită observed care să marcheze dacă durata de viață a unui delfin este censurată, completează funcția check_observed cu valorile potrivite și folosește .apply() pentru a aplica funcția pe dolphin_df.

pandas și numpy sunt importate ca pd, respectiv np.

Acest exercițiu face parte din cursul

Analiza de supraviețuire în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Creează o funcție check_observed care să returneze 0 dacă datele sunt censurate și 1 în caz contrar.
  • Creează o coloană de marcare a censurării numită observed folosind funcția check_observed.
  • Afișează în consolă valoarea medie a coloanei observed.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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(____))
Editează și rulează codul