前處理設限資料
你是一位研究旋轉海豚壽命的海洋生物學家。你擁有包含牠們出生與死亡日期的歷史資料。有些被標記的海豚遷移到其他海域,實驗室因此失去追蹤。有些海豚則是來自不同族群的移民,確切出生日期不明。也有一些海豚仍然存活!
- 若出生日期是
NaN,該海豚為移民。 - 若死亡日期是
NaN,該海豚可能逃走或仍然存活。
這個 DataFrame 名為 dolphin_df。要建立一個名為 observed 的新欄位,用來標示海豚的壽命是否為設限資料,請在函式 check_observed 中填入合適的值,並使用 .apply() 將此函式套用到 dolphin_df。
pandas 與 numpy 分別已載入為 pd 與 np。
本練習屬於課程
Python 的存活分析
練習說明
- 建立函式
check_observed:若資料點為設限則回傳0,否則回傳1。 - 使用函式
check_observed建立名為observed的設限標記欄位。 - 在主控台列印
observed欄位的平均值。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# 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(____))