Группировать данные с агрегацией | GroupBy + Aggregation

Нода позволяет сгруппировать датафрейм по указанным полям и выполнить агрегацию (сумма, количество и т.д.).

Описание ноды

На вход нода получает датафрейм. Она объединяет строки по значениям выбранных колонок и рассчитывает для каждой группы заданные агрегаты. На выходе получается датафрейм с ключами группировки и результатами агрегаций.

Начиная с релиза 1.14.0, можно выполнять агрегацию по всему датафрейму без указания group_by_columns: для этого оставьте поле «Группировать по» пустым.

Настройка ноды

Настройки группировки, обработки NULL и агрегаций
  1. В поле «Группировать по» выберите колонки, значения которых определяют группы. На скриншоте выбрана «Номенклатура».

  2. В разделе «Обработка NULL» настройте переключатель «Сохранять группы с NULL в ключах». Его действие описано ниже.

  3. В разделе «Агрегации» выберите колонку для расчёта, функцию и имя результирующей колонки. На скриншоте для «Характеристика» выбрана функция count, имя результата — Характеристика_count.

  4. Для дополнительного расчёта нажмите «Добавить агрегацию» и заполните новую строку. Значок корзины удаляет отдельную агрегацию, кнопка «Очистить» — весь список агрегаций.

  5. Нажмите «Сохранить».

Обработка NULL в ключах группировки

Переключатель «Сохранять группы с NULL в ключах» определяет, будут ли участвовать в группировке строки с пропущенными значениями в выбранных ключевых колонках:

  • Включён: строки с NULL в ключах сохраняются в группировке.

  • Выключен: строки с NULL в ключах исключаются из группировки.

Настройка относится к колонкам из поля «Группировать по». Она не задаёт замену пропущенных значений в колонках, по которым рассчитываются агрегаты.

Возможность исключать строки с пустыми ключами описана в релизе 1.22.0.

Пример: количество характеристик по номенклатуре

Рассмотрим учебный датафрейм:

Номенклатура

Характеристика

Футболка

Красная, M

Футболка

Синяя, L

Куртка

Чёрная, M

NULL

Белая, S

Здесь NULL обозначает пропущенное значение, а не текст «NULL».

Настройте ноду, как на скриншоте:

  • «Группировать по» — Номенклатура;

  • колонка агрегации — Характеристика;

  • функция — count;

  • имя результата — Характеристика_count.

Если включить «Сохранять группы с NULL в ключах», ожидаемый результат для этих данных будет таким (порядок строк может отличаться):

Номенклатура

Характеристика_count

Футболка

2

Куртка

1

NULL

1

Если выключить переключатель, группа с NULL не попадёт в результат. Останутся строки «Футболка» и «Куртка» с теми же значениями счётчика.

В этом примере все значения «Характеристика» заполнены, поэтому count показывает количество записей в каждой группе.