Как создать таблицу сопряженности в python
Таблица сопряженности — это тип таблицы, в которой суммируются отношения между двумя категориальными переменными.
Чтобы создать таблицу непредвиденных обстоятельств в Python, мы можем использовать функцию pandas.crosstab() , которая использует следующий синтаксис:
pandas.crosstab(индекс, столбцы)
Золото:
- индекс: имя переменной, отображаемой в строках таблицы сопряженности.
- столбцы: имя переменной для отображения в столбцах таблицы сопряженности.
В следующем пошаговом примере показано, как использовать эту функцию для создания таблицы непредвиденных обстоятельств в Python.
Шаг 1. Создайте данные
Во-первых, давайте создадим набор данных, который отображает информацию о 20 различных заказах продуктов, включая тип приобретенного продукта (телевизор, компьютер или радио), а также страну (A, B или C), в которой был куплен продукт:
import pandas as pd #create data df = pd. DataFrame ({'Order': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20], 'Product': ['TV', 'TV', 'Comp', 'TV', 'TV', 'Comp', 'Comp', 'Comp', 'TV', 'Radio', 'TV', 'Radio', 'Radio', 'Radio', 'Comp', 'Comp', 'TV', 'TV', 'Radio', 'TV'], 'Country': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B', 'C', 'C', 'C', 'C', 'C', 'C', 'C', 'C']}) #view data df Order Product Country 0 1 TV A 1 2 TV A 2 3 Comp A 3 4 TV A 4 5 TV B 5 6 Comp B 6 7 Comp B 7 8 Comp B 8 9 TV B 9 10 Radio B 10 11 TV B 11 12 Radio B 12 13 Radio C 13 14 Radio C 14 15 Comp C 15 16 Comp C 16 17 TV C 17 18 TV C 18 19 Radio C 19 20 TV C
Шаг 2. Создайте таблицу непредвиденных обстоятельств
Следующий код показывает, как создать таблицу непредвиденных обстоятельств для подсчета количества каждого продукта, заказанного каждой страной:
#create contingency table p.d. crosstab (index=df[' Country '], columns=df[' Product ']) Product Comp Radio TV Country A 1 0 3 B 3 2 3 C 2 3 3
Вот как интерпретировать таблицу:
- Всего в стране А был куплен 1 компьютер.
- Всего в стране Б было закуплено 3 компьютера.
- Всего в стране C было приобретено 2 компьютера.
- Всего в стране А было закуплено 0 радиоприемников.
- Всего в стране Б было закуплено 2 радиоприемника.
- Всего в стране C было закуплено 3 радиоприемника.
- Всего в стране А было приобретено 3 телевизора.
- Всего в стране Б было приобретено 3 телевизора.
- Всего в стране C было приобретено 3 телевизора.
Шаг 3. Добавьте итоговые суммы маржи в таблицу непредвиденных обстоятельств.
Мы можем использовать аргумент Margins=True , чтобы добавить итоговые суммы маржи в таблицу непредвиденных обстоятельств:
#add margins to contingency table p.d. crosstab (index=df[' Country '], columns=df[' Product '], margins= True ) Product Comp Radio TV All Country A 1 0 3 4 B 3 2 3 8 C 2 3 3 8 All 6 5 9 20
Способ интерпретации значений таблицы следующий:
Итоги строк:
- Всего из страны А было размещено 4 заказа.
- Всего из страны Б было размещено 8 заказов.
- Всего из страны C было размещено 8 заказов.
Итоги по столбцу:
- Всего было приобретено 6 компьютеров.
- Всего было приобретено 5 радиостанций.
- Всего было приобретено 9 телевизоров.
Значение в правом нижнем углу таблицы показывает, что всего было заказано 20 товаров из всех стран.
Дополнительные ресурсы
Как создать таблицу сопряженности в R
Как создать таблицу сопряженности в Excel