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
Petunjuk latihan
- Buat fungsi
check_observedyang mengembalikan0jika titik data tersensor, dan1jika tidak. - Buat kolom penanda sensor bernama
observedmenggunakan fungsicheck_observed. - Cetak nilai rata-rata kolom
observeddi 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(____))