开始使用免费开始使用

预处理删失数据

您是一名研究旋转海豚寿命的海洋生物学家。您手头有包含其出生和死亡日期的历史数据。一些打了标记的海豚迁移到了其他水域,实验室失去了对它们的追踪。一些海豚来自其他群体,它们的确切出生日期未知。还有一些海豚仍然存活!

  • 如果出生日期是 NaN,该海豚为迁入个体。
  • 如果死亡日期是 NaN,该海豚要么逃离了追踪,要么仍然存活。

数据框名为 dolphin_df。为了创建一个名为 observed 的新列,用于标记某只海豚的生存时间是否被删失,请为函数 check_observed 填入合适的返回值,并使用 .apply() 将该函数应用到 dolphin_df

pandasnumpy 分别已作为 pdnp 导入。

本练习是课程的一部分

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(____))
编辑并运行代码