Zacznij terazZacznij za darmo

Przetwarzanie ocenzurowanych danych

Jesteś biologiem morskim badającym długość życia delfinów obrotowych. Masz dostęp do danych historycznych zawierających daty urodzenia i śmierci tych zwierząt. Część oznakowanych delfinów migrowała na inny obszar wód i laboratorium straciło z nimi kontakt. Część delfinów to migranci z innej grupy, a ich dokładne daty urodzenia są nieznane. Niektóre delfiny wciąż żyją!

  • Jeśli data urodzenia to NaN, delfin jest migrantem.
  • Jeśli data śmierci to NaN, delfin uciekł lub nadal żyje.

Dane przechowywane są w DataFrame o nazwie dolphin_df. Aby utworzyć nową kolumnę observed oznaczającą, czy czas życia delfina jest ocenzurowany, uzupełnij funkcję check_observed odpowiednimi wartościami i użyj metody .apply(), aby zastosować ją do dolphin_df.

pandas i numpy są załadowane odpowiednio jako pd i np.

To ćwiczenie jest częścią kursu

Analiza przeżycia w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz funkcję check_observed, która zwraca 0, jeśli obserwacja jest ocenzurowana, lub 1 w przeciwnym wypadku.
  • Utwórz kolumnę z flagą cenzurowania o nazwie observed, korzystając z funkcji check_observed.
  • Wyświetl w konsoli średnią wartość kolumny observed.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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(____))
Edytuj i uruchom kod