Таблица непредвиденных обстоятельств — это тип таблицы, которая обобщает отношения между двумя категориальными переменными.
Чтобы создать таблицу непредвиденных обстоятельств в 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
pd.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 радиостанций.
- Всего в стране B было закуплено 2 радиоприемника.
- Всего в стране С было закуплено 3 радиоприемника.
- Всего в стране А было приобретено 3 телевизора.
- Всего в стране Б было приобретено 3 телевизора.
- Всего было приобретено 3 телевизора в стране C.
Шаг 3. Добавьте итоговые значения маржи в таблицу непредвиденных обстоятельств.
Мы можем использовать аргумент margins=True , чтобы добавить итоговые значения маржи в таблицу непредвиденных обстоятельств:
#add margins to contingency table
pd.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 заказов из страны B.
- Всего было сделано 8 заказов из страны C.
Итоги столбца:
- Всего было куплено 6 компьютеров.
- Всего было куплено 5 радиостанций.
- Всего было куплено 9 телевизоров.
Значение в правом нижнем углу таблицы показывает, что всего было заказано 20 товаров из всех стран.
Дополнительные ресурсы
Как создать таблицу непредвиденных обстоятельств в R
Как создать таблицу непредвиденных обстоятельств в Excel