Как создать таблицу сопряженности в 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *