Выбор ответа Senior pivot, melt и сводные обновлено
melt и пустые ячейки
Вопрос
Широкая таблица wide (колонки date, Москва, Казань) содержит NaN там, где продаж не было. Нужна длинная таблица только с реальными продажами. Что сделать?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: wide.melt(idvars="date").dropna(subset=["value"]). melt сохраняет все ячейки, включая NaN, поэтому после него нужен dropna по колонке значений. pivot делает обратное преобразование. wide.dropna() до melt выкинет целые даты, где хотя бы один город пуст, и потеряет реальные продажи других…
Варианты ответа
wide.melt(id_vars="date"): он сам выбросит NaNwide.melt(id_vars="date").dropna(subset=["value"])правильный ответwide.pivot(index="date", columns="city").dropna()wide.dropna().melt(id_vars="date", var_name="city")
Разбор
melt сохраняет все ячейки, включая NaN, поэтому после него нужен dropna по колонке значений. pivot делает обратное преобразование. wide.dropna() до melt выкинет целые даты, где хотя бы один город пуст, и потеряет реальные продажи других городов.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Ещё по теме «pivot, melt и сводные»
- Колонки-месяцы в строки и сумма по месяцам
- Сводная таблица день × город
- Когортная таблица retention на pandas
- Когортный анализ retention в pandas
- crosstab с normalize
- melt: колонки-месяцы в строки
- Длинный и широкий формат
- pivot_table: среднее против суммы