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

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

Две копилки вместо одной

Считать количество по группам мы умеем. Теперь задача сложнее: посчитать по каждому жанру средние сборы. Среднее — это сумма делить на количество, значит копилок нужно две: одна копит суммы, вторая — сколько раз мы прибавляли.

total = {}   # сумма сборов по жанру
count = {}   # число фильмов в жанре

Делить надо после цикла, когда обе копилки заполнены. Попытка поделить внутри цикла — частая ошибка: там ещё не все слагаемые собраны.


Выводи размер группы рядом со средним

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

Причина простая. Среднее по группе из тысячи фильмов устойчиво: один необычный фильм почти не сдвинет его. Среднее по группе из трёх — это, по сути, и есть эти три фильма, и любой из них тянет результат куда захочет.

Прежде чем читать разбор ниже, посмотри на вывод сам. Отсортируй глазами по средним сборам и ответь: какие жанры оказались на самом верху и в самом низу, и что у них общего в столбце с количеством?



Разбор: почему верхняя строка обманывает

Список возглавил Family со средними сборами 518.6 млн — вдвое больше, чем у Animation. Но посмотри в соседний столбец: фильмов в этом жанре 4. Одна удачная картина сдвигает такое среднее куда угодно.

Ровно то же на другом конце: в самом низу Western со средними 10.0 млн, и там всего 2 фильма. Оба края списка заняты крошечными группами — и это не совпадение. Чем меньше группа, тем сильнее её среднее скачет, поэтому маленькие группы естественным образом всплывают на краях.

Осмысленный ответ дают строки с большими группами: Animation (276 фильмов, 279.8 млн) против Comedy (1469 фильмов, 59.4 млн). Вот здесь разница настоящая.

Правило. Среднее по группе бессмысленно смотреть без размера группы. Всегда выводи их рядом.


Какие средние сборы у жанра Comedy? Один знак после запятой, в миллионах.

Список возглавил жанр Family со средними сборами 518.6 млн при 4 фильмах в группе. Как к этому числу отнестись?

Отметь верные утверждения.

Сравни два вывода: «Animation собирает больше Comedy» (276 и 1469 фильмов) и «Family собирает больше Animation» (4 и 276 фильмов). Какой из них надёжнее?
Загрузка...
Чтобы оставить комментарий, необходимо авторизоваться
💬
Пока нет комментариев. Будьте первым!
Печать