Bắt đầu ngayBắt đầu miễn phí

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.

pandasnumpy đã được nạp với bí danh lần lượt là pdnp.

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

Xem khóa học

Hướng dẫn bài tập

  • Tạo hàm check_observed trả về 0 nếu điểm dữ liệu bị kiểm duyệt, và 1 nếu không.
  • Tạo cột cờ kiểm duyệt tên observed bằng hàm check_observed.
  • In giá trị trung bình của cột observed ra 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(____))
Chỉnh sửa và Chạy Mã