검열된 데이터 전처리
당신은 큰돌고래(spinner dolphin)의 수명을 연구하는 해양생물학자예요. 개체의 출생일과 사망일에 대한 과거 자료가 있습니다. 표식한 일부 돌고래는 다른 해역으로 이동해 연구실이 추적을 놓쳤고, 일부는 다른 무리에서 이주해 온 개체라 정확한 출생일을 모릅니다. 어떤 돌고래는 아직 살아 있기도 해요!
- 출생일이
NaN이면 이 개체는 이주 개체입니다. - 사망일이
NaN이면 도망갔거나 아직 살아 있는 것입니다.
데이터프레임 이름은 dolphin_df입니다. 각 돌고래의 관측 기간이 검열되었는지 표시하는 새 열 observed를 만들기 위해, 함수 check_observed를 알맞게 완성하고 .apply()로 dolphin_df에 적용하세요.
pandas와 numpy는 각각 pd, np로 불러와져 있습니다.
이 연습은 강의의 일부입니다
Python에서의 Survival Analysis
연습 안내
- 데이터 포인트가 검열되었으면
0, 그렇지 않으면1을 반환하는 함수check_observed를 만드세요. - 함수
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(____))