Tiền xử lý dữ liệu bị kiểm duyệt
Bạn là một nhà sinh vật học biển đang nghiên cứu tuổi thọ của cá heo spinner. Bạn có dữ liệu lịch sử về ngày sinh và ngày chết của chúng. Một số cá heo được gắn thẻ đã di cư sang khu vực nước khác nên phòng thí nghiệm không còn theo dõi được. Một số cá heo là cá thể di cư từ đàn khác, và không rõ chính xác ngày sinh. Một số cá heo thì vẫn còn sống!
- Nếu ngày sinh là
NaN, cá heo đó là cá thể di cư. - Nếu ngày chết là
NaN, cá heo đó hoặc đã bỏ đi hoặc vẫn còn sống.
DataFrame có tên dolphin_df. Để tạo cột mới tên observed để đánh dấu liệu thời gian sống của cá heo có bị kiểm duyệt hay không, hãy hoàn thiện hàm check_observed với các giá trị phù hợp và dùng .apply() để áp dụng hàm cho dolphin_df.
pandas và numpy đã được nạp với bí danh lần lượt là pd và np.
Bài tập này là một phần của khóa học
Phân tích sống sót bằng Python
Hướng dẫn bài tập
- Tạo hàm
check_observedtrả về0nếu điểm dữ liệu bị kiểm duyệt, và1nếu không. - Tạo cột cờ kiểm duyệt tên
observedbằng hàmcheck_observed. - In giá trị trung bình của cột
observedra console.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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(____))