Статья Автор: Деникина Н.В., Деникин А.В.

1.2 Фильтр и группировка — группировка словарём

Когда групп заранее не знаешь

Посчитать фильмы жанра Action легко — заводим одну переменную. А если нужно сосчитать каждый жанр сразу? Заводить пятнадцать переменных вручную глупо, да и жанров мы заранее не знаем.

Здесь и нужен словарь: ключ — название группы, значение — накопитель. Группы появляются сами, по мере встречи в данных.

counts = {}
for m in movies:
    g = m["genre"]
    if g not in counts:
        counts[g] = 0
    counts[g] = counts[g] + 1

Три строки внутри цикла — это и есть вся группировка. Строку if g not in counts пропускать нельзя: обращение к несуществующему ключу приведёт к ошибке.


Что показывает результат

В нашей таблице оказалось 15 различных жанров. Самый частый — Comedy (1469 фильмов), следом Action (1411).

Запомни это распределение — в следующей тетради мы посчитаем по тем же группам средние сборы, и картина получится совсем другая. Частый жанр и прибыльный жанр — разные вещи, и таблица это сейчас покажет.



Что показал вывод

Словарь сам собрал 15 групп — мы нигде не перечисляли жанры руками, они появились из данных. Самый частый Comedy (1469), сразу за ним Action (1411).

Полезная проверка: если сложить все значения словаря, получится ровно 5378 — число строк таблицы. Каждый фильм попал ровно в одну группу, ничего не потерялось и не задвоилось.


Сколько различных жанров встречается в таблице? Ответ числом.

Сколько фильмов в самом частом жанре? Ответ числом.

Что произойдёт, если убрать строку if g not in counts: counts[g] = 0?

Отметь верные утверждения про группировку словарём.

Расставь шаги группировки в правильном порядке.
Загрузка...
Чтобы оставить комментарий, необходимо авторизоваться
💬
Пока нет комментариев. Будьте первым!
Печать