始める無料で始める

検閲データの前処理

あなたはマダライルカの寿命を研究する海洋生物学者です。イルカの誕生日と死亡日の履歴データにアクセスできます。タグ付けした一部のイルカは別の海域に移動し、研究所は追跡を失いました。別の群れ(ポッド)からの移住個体もおり、正確な誕生日が不明な場合があります。今も生存している個体もいます。

  • 誕生日がNaNなら、そのイルカは移住個体です。
  • 死亡日がNaNなら、そのイルカは逃げたか、もしくは存命です。

DataFrameはdolphin_dfです。イルカの生存時間が検閲されているかを示す新しい列observedを作成するために、関数check_observedに適切な値を記入し、.apply()dolphin_dfに適用してください。

pandasnumpyはそれぞれpdnpとして読み込まれています。

この演習はコースの一部です

Pythonで学ぶSurvival Analysis

コースを見る

演習の手順

  • 関数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(____))
コードを編集して実行