Выбор ответа Junior pivot, melt и сводные спрашивают часто обновлено

Зачем нужен melt

Вопрос

Выгрузка из Excel: колонки region, jan, feb, mar с продажами. Нужно посчитать продажи по месяцам через groupby. Что сделать первым?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: df.melt(idvars="region", varname="month"). melt превращает колонки-месяцы в пары «месяц, значение»: каждая строка становится наблюдением, и дальше работает обычный groupby("month"). pivot делает обратное преобразование. stack без подготовки индекса даст Series с MultiIndex, а…

Варианты ответа

  1. df.melt(id_vars="region", var_name="month")правильный ответ
  2. df.pivot(index="region", columns="month", values="sales")
  3. df.stack(level="month").reset_index()
  4. df.T.reset_index(names="month")

Разбор

melt превращает колонки-месяцы в пары «месяц, значение»: каждая строка становится наблюдением, и дальше работает обычный groupby("month"). pivot делает обратное преобразование. stack без подготовки индекса даст Series с MultiIndex, а колонки month у нас нет. T просто транспонирует таблицу: регионы станут колонками, а не наблюдениями.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.