ПочатиПочніть безкоштовно

Попередня обробка цензурованих даних

Ви морський біолог і досліджуєте тривалість життя дельфінів-вертунів. У вас є історичні дані з датами їх народження та смерті. Деякі мічені дельфіни мігрували в іншу частину водного басейну, і лабораторія втратила їх з поля зору. Деякі дельфіни — мігранти з іншої зграї, і їхні точні дати народження невідомі. Деякі дельфіни досі живі!

  • Якщо дата народження має значення NaN, дельфін є мігрантом.
  • Якщо дата смерті має значення NaN, дельфін або зник, або живий.

Датафрейм має назву dolphin_df. Щоб створити новий стовпець observed, який позначає, чи цензурований життєвий шлях дельфіна, заповніть функцію check_observed відповідними значеннями та застосуйте її до dolphin_df за допомогою .apply().

pandas і numpy імпортовано як pd і np відповідно.

Ця вправа є частиною курсу

Аналіз виживаності в Python

Переглянути курс

Інструкції до вправи

  • Створіть функцію check_observed, яка повертає 0, якщо точка даних цензурована, і 1 — інакше.
  • Створіть стовпець-мітку цензурування під назвою observed, використовуючи функцію check_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(____))
Редагувати та запускати код