Сводные таблицы необходимы в качестве удобной для анализа формы представления данных и фактически являются качественной трансформацией из сырого вида. Рассмотрим прикладную задачу построения статистики разных вариантов победы в рамках UFC для каждого бойца.
Опираться будем на данные по всем поединкам в главных и предварительных кардах (по 19.12.2020 включительно), полученных путем скрапинга сайта ufcstats.com (подробнее читай здесь):
Для получения сводной таблицы наиболее подходящим для Python является инструментарий библиотеки Pandas, в частности ее функция pivot_table. Ввиду особенности хранения наших данных для решения задачи потребуется сначала создать отдельные сводные таблицы для бойцов в левом и правом углу, а затем просуммировать их (так как любой участник мог выступать в любом из углов). Ниже представлен сценарий получения двух сводных таблиц:
В функции pivot_table должны быть указаны столбцы исходной таблицы для группировки по строкам и столбцам в новой, а также значения к которым применяется агрегирующая функция count (в нашем случае столбец выбран произвольно, так как требуется подсчет количества значений).
Для осуществления аналогичных действий в Google Sheets или Microsoft Excel также существует встроенный функционал (подробнее читай здесь). Например, в Google Sheets сначала загрузил данные из локального файла csv через меню "Файл"->"Импортировать", а затем запустил Данные -> Создать сводную таблицу:
Последующее суммирование двух таблиц по строкам решил только в Python (в Google Sheets быстрого способа не нашел, подскажите кто знает):
Так как значения имен бойцов в одной таблице могли присутствовать, а в другой нет, потребуется суммировать с заполнением пропущенных значений нулями (иначе суммирование будет с участием nan и, соответственно, равняться nan). Теперь можно вывести строку таблицы, например, для Хабиба Нурмагомедова и сравнить с реальными значениями:
Отмечу, что все данные только по схваткам в рамках UFC, поэтому результаты в других турнирах в статистику не попадают. На основании получившихся статистических сведений можно сделать несколько интересных выводов, о которых речь будет идти в последующих статьях на канале.