预处理删失数据
您是一名研究旋转海豚寿命的海洋生物学家。您手头有包含其出生和死亡日期的历史数据。一些打了标记的海豚迁移到了其他水域,实验室失去了对它们的追踪。一些海豚来自其他群体,它们的确切出生日期未知。还有一些海豚仍然存活!
- 如果出生日期是
NaN,该海豚为迁入个体。 - 如果死亡日期是
NaN,该海豚要么逃离了追踪,要么仍然存活。
数据框名为 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(____))