Выбор ответа Senior pivot, melt и сводные обновлено
Когортная таблица retention
Вопрос
Есть таблица cohorts: строки это месяц когорты, колонки это номер месяца жизни 0, 1, 2..., значения это число активных. Как получить retention в долях от размера когорты?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: cohorts.div(cohorts[0], axis=0). Нужно разделить каждую строку на её значение в нулевом месяце: div(..., axis=0) выравнивает делитель по индексу строк.
Варианты ответа
cohorts / cohorts[0]поэлементноcohorts / cohorts.sum(axis=0)cohorts.div(cohorts[0], axis=0)правильный ответcohorts.pct_change(axis=1).fillna(1)
Разбор
Нужно разделить каждую строку на её значение в нулевом месяце: div(..., axis=0) выравнивает делитель по индексу строк. Обычное / с Series выравнивает её по колонкам и даст NaN почти везде. Деление на sum() даст долю от суммы по колонке, а pct_change относительное изменение к предыдущему месяцу, а не к старту.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.