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

pivot падает на дублях

Вопрос

df.pivot(index="date", columns="city", values="revenue") падает с ValueError: Index contains duplicate entries. В чём причина?

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

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

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

Коротко

Правильный ответ: Пара (date, city) повторяется, а pivot не агрегирует. pivot только переставляет значения и не знает, какое из двух значений положить в одну ячейку.

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

  1. Колонка revenue содержит NaN, а pivot их не переносит
  2. Пара (date, city) повторяется, а pivot не агрегируетправильный ответ
  3. pivot не умеет строковые колонки в columns, только числа
  4. Нужно сначала отсортировать таблицу по date и city

Разбор

pivot только переставляет значения и не знает, какое из двух значений положить в одну ячейку. Нужен pivot_table(aggfunc="sum") или groupby перед pivot. NaN в значениях и строковые колонки pivot переносит спокойно, сортировка не нужна.

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

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