MulaiMulai sekarang secara gratis

Praproses data tersensor

Anda adalah seorang ahli biologi kelautan yang meneliti usia hidup lumba-lumba spinner. Anda memiliki akses ke data historis yang memuat tanggal lahir dan tanggal kematian mereka. Beberapa lumba-lumba bertanda bermigrasi ke bagian perairan lain sehingga laboratorium kehilangan jejaknya. Beberapa lumba-lumba adalah migran dari kelompok lain, dan tanggal lahir tepatnya tidak diketahui. Sebagian lumba-lumba masih hidup!

  • Jika tanggal lahir bernilai NaN, lumba-lumba tersebut adalah migran.
  • Jika tanggal kematian bernilai NaN, lumba-lumba tersebut either kabur atau masih hidup.

DataFrame bernama dolphin_df. Untuk membuat kolom baru bernama observed guna menandai apakah lama hidup lumba-lumba tersensor, lengkapi fungsi check_observed dengan nilai yang sesuai dan gunakan .apply() untuk menerapkan fungsi tersebut pada dolphin_df.

pandas dan numpy telah dimuat sebagai pd dan np.

Latihan ini adalah bagian dari kursus

Analisis Survival dengan Python

Lihat Kursus

Petunjuk latihan

  • Buat fungsi check_observed yang mengembalikan 0 jika titik data tersensor, dan 1 jika tidak.
  • Buat kolom penanda sensor bernama observed menggunakan fungsi check_observed.
  • Cetak nilai rata-rata kolom observed di konsol.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# 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(____))
Edit dan Jalankan Kode