Como criar uma tabela de contingência em python


Uma tabela de contingência é um tipo de tabela que resume o relacionamento entre duas variáveis categóricas.

Para criar uma tabela de contingência em Python, podemos usar a função pandas.crosstab() , que usa a seguinte sintaxe:

pandas.crosstab(índice, colunas)

Ouro:

  • índice: nome da variável a ser exibida nas linhas da tabela de contingência
  • colunas: nome da variável a ser exibida nas colunas da tabela de contingência

O exemplo passo a passo a seguir mostra como usar esta função para criar uma tabela de contingência em Python.

Etapa 1: crie os dados

Primeiro, vamos criar um conjunto de dados que exiba informações sobre 20 pedidos de produtos diferentes, incluindo o tipo de produto adquirido (TV, computador ou rádio), bem como o país (A, B ou C) em que o produto foi comprado:

 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

Passo 2: Crie a tabela de contingência

O código a seguir mostra como criar uma tabela de contingência para contar a quantidade de cada produto pedido por cada país:

 #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

Veja como interpretar a tabela:

  • Um total de 1 computador foi adquirido no país A.
  • Um total de 3 computadores foram adquiridos no país B.
  • Um total de 2 computadores foram adquiridos no país C.
  • Um total de 0 rádios foram adquiridos no país A.
  • Um total de 2 rádios foram adquiridos no país B.
  • Um total de 3 rádios foram adquiridos no país C.
  • Um total de 3 televisores foram adquiridos no país A.
  • Um total de 3 televisores foram adquiridos no país B.
  • Um total de 3 televisores foram adquiridos no país C.

Passo 3: Adicionar totais de margem à tabela de contingência

Podemos usar o argumento margins=True para adicionar os totais de margem à tabela de contingência:

 #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

A forma de interpretar os valores da tabela é a seguinte:

Totais de linha:

  • Um total de 4 pedidos foram feitos do país A.
  • Um total de 8 pedidos foram feitos do país B.
  • Um total de 8 pedidos foram feitos do país C.

Totais da coluna:

  • Foram adquiridos um total de 6 computadores.
  • Foram adquiridos um total de 5 rádios.
  • Foram adquiridos um total de 9 televisores.

O valor no canto inferior direito da tabela mostra que foram encomendados um total de 20 produtos de todos os países.

Recursos adicionais

Como criar uma tabela de contingência em R
Como criar uma tabela de contingência no Excel

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *