Таблица сопряжённости в Pandas
Таблица сопряжённости -
это сетка, где по строкам и
столбцам стоят категории, а
в ячейках число совместных
появлений. Функция crosstab
считает такие пары по двум
столбцам исходной таблицы. Это
не сводная таблица с агрегацией
числового столбца, а именно
подсчёт совместных строк.
Возьмём журнал посещений зала по дням и построим сетку:
import pandas as pd
visits = pd.DataFrame({
'day': ['Mon', 'Mon', 'Tue', 'Tue', 'Tue'],
'hall': ['A', 'B', 'A', 'A', 'B'],
})
grid = pd.crosstab(visits['day'], visits['hall'])
print(grid) # выведет hall A B
# day
# Mon 1 1
# Tue 2 1
В понедельник зал A и зал
B встретились по одному разу,
во вторник зал A - дважды,
зал B - один раз. Отдельного
ключа для слияния здесь не нужно:
считаются только совместные строки.
В списке пять записей: день недели и тип занятия. Постройте сетку, сколько раз каждый день сочетался с каждым типом, и выведите её.
Таблица опроса содержит столбцы
city и transport для
шести ответов. Получите таблицу
частот пар город-транспорт и
выведите результат.
Журнал смен: смена и бригада в шести строках. Посчитайте, сколько раз каждая смена работала с каждой бригадой, и выведите сетку.