開始使用免費開始

前處理設限資料

你是一位研究旋轉海豚壽命的海洋生物學家。你擁有包含牠們出生與死亡日期的歷史資料。有些被標記的海豚遷移到其他海域,實驗室因此失去追蹤。有些海豚則是來自不同族群的移民,確切出生日期不明。也有一些海豚仍然存活!

  • 若出生日期是 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(____))
編輯並執行程式碼