Pandas crosstab ()

Функция crosstab Pandas используется для вычисления перекрестной таблицы двух или более факторов.

Данная функция определена в библиотеке Pandas. По умолчанию crosstab вычисляет частотную таблицу всех упомянутых факторов, если не передан массив или список значений и функций агрегирования.

Синтаксис функции следующий:

pandas.crosstab(index, columns, values = None, rownames=None, 
colnames = None, aggfunc = None, margins = False, 
margins_name: str = ‘All’, dropna: bool = True, 
normalize = False) ->’DataFrame’ 

Пример использования pandas.crosstab ()

import pandas as pd
import numpy as np

data1 = np.array(["a", "a", "a", "a", "b", "b",
                  "b", "b", "c", "c", "c"], dtype=object)
data2 = np.array(["1st", "1st", "1st", "2nd", "1st", "1st",
                  "1st", "2nd", "2nd", "2nd", "2nd"], dtype=object)
data3 = r = np.array(["x1", "x1", "y1", "x1", "x1", "y1",
                      "y1", "x1", "y1", "y1", "y1"],
                     dtype=object)
ctab = pd.crosstab(data1, [data2, data3], rownames=['p'], colnames=['q', 'r'])
print(ctab)

Результат выполнения:

q 1st 2nd
r x1 y1 x1 y1
p
a 2 1 1 0
b 1 2 1 0
c 0 0 0 3

Источник: https://appdividend.com/2020/07/02/pandas-crosstab-function-example-in-python/