Aan de slagGa gratis aan de slag

Gecensureerde gegevens preprocessen

Je bent een zeebioloog die de levensduur van spinnerdolfijnen onderzoekt. Je hebt historische gegevens met hun geboorte- en sterfdatums. Sommige getagde dolfijnen migreerden naar een ander deel van het water en het lab raakte ze kwijt. Sommige dolfijnen zijn migranten uit een andere groep en hun exacte geboortedatum is onbekend. Sommige dolfijnen leven nog!

  • Als de geboortedatum NaN is, is de dolfijn een migrant.
  • Als de sterfdatum NaN is, is de dolfijn óf weggelopen óf nog in leven.

De DataFrame heet dolphin_df. Vul de functie check_observed aan met de juiste waarden en gebruik .apply() op dolphin_df om een nieuwe kolom observed te maken die aangeeft of de levensduur van een dolfijn gecensureerd is.

pandas en numpy zijn geladen als pd en np.

Deze oefening maakt deel uit van de cursus

Survivalanalyse in Python

Cursus bekijken

Oefeninstructies

  • Maak een functie check_observed die 0 teruggeeft als het datapunt gecensureerd is, en anders 1.
  • Maak met de functie check_observed een kolom met de censureringsvlag genaamd observed.
  • Print de gemiddelde waarde van de kolom observed in de console.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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(____))
Code bewerken en uitvoeren