Выбор ответа Senior groupby и агрегаты обновлено

groupby по category и observed

Вопрос

Ключ segment имеет тип category с 50 категориями, в данных встречаются 3. Код написан под pandas 3.0 без явного observed. Сколько строк вернёт df.groupby("segment")["x"].sum()?

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

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

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

Коротко

Правильный ответ: 3: в pandas 3.0 по умолчанию observed=True. В pandas 3.0 значение по умолчанию сменилось на observed=True, и показываются только встреченные категории.

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

  1. 50, по строке на каждую категорию из типа
  2. 3: в pandas 3.0 по умолчанию observed=Trueправильный ответ
  3. 51: все категории и ещё одна строка для NaN
  4. Ошибка: нужно явно указать observed

Разбор

В pandas 3.0 значение по умолчанию сменилось на observed=True, и показываются только встреченные категории. 50 строк с нулями было бы при observed=False, это поведение старых версий. Строку NaN добавляет только dropna=False, а ошибки нет: в 2.x было лишь предупреждение об изменении умолчания.

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

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

Термины по теме