Pandas: como criar um gráfico de barras a partir de uma tabela cruzada


Você pode usar os seguintes métodos para criar um gráfico de barras para visualizar contagens em uma tabela cruzada do Pandas:

Método 1: Criar um gráfico de barras agrupadas

 import matplotlib. pyplot as plt

my_crosstab. plot (kind=' bar ')

Método 2: Criar um gráfico de barras empilhadas

 import matplotlib. pyplot as plt

my_crosstab. plot (kind=' bar ', stacked= True )

Os exemplos a seguir mostram como usar cada um desses métodos na prática com a seguinte tabela cruzada do pandas:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'B', 'B', 'B', 'B', 'C', 'C', 'C', 'C '],
                   ' position ':['G', 'G', 'F', 'G', 'F', 'F', 'F', 'G', 'G', 'F', 'F'],
                   ' points ': [22, 25, 24, 39, 34, 20, 18, 17, 20, 19, 22]})

#create crosstab to display count of players by team and position
my_crosstab = pd. crosstab (df. team , df. position )

#view crosstab
print (my_crosstab)

FG position
team          
AT 12
B 3 1
C 2 2

Exemplo 1: Criar um gráfico de barras agrupadas a partir de uma tabela cruzada

Podemos usar a seguinte sintaxe para criar um gráfico de barras agrupadas a partir da tabela cruzada:

 import matplotlib. pyplot as plt

#create grouped bar plot
my_crosstab. plot (kind=' bar ', rot= 0 ) 

gráfico de barras agrupadas de pandas da tabela cruzada

Nota : O argumento rot=0 gira os rótulos do eixo x 90 graus para torná-los mais fáceis de ler.

O eixo x exibe os nomes das equipes enquanto as barras agrupadas exibem as contagens de frequência de cada posição.

Por exemplo, podemos ver:

  • 1 jogador na equipe A na posição F.
  • Existem 2 jogadores na equipe A na posição G.

E assim por diante.

Exemplo 2: Criar um gráfico de barras empilhadas a partir de uma tabela cruzada

Podemos usar a seguinte sintaxe para criar um gráfico de barras empilhadas a partir da tabela cruzada:

 import matplotlib. pyplot as plt

#create stacked bar plot
my_crosstab. plot (kind=' bar ', stacked= True , rot= 0 ) 

Nota : O argumento stacked=True nos permitiu criar um gráfico de barras empilhadas em vez de um gráfico de barras agrupadas.

O eixo x exibe os nomes das equipes enquanto as barras empilhadas exibem as contagens de frequência de cada posição.

Por exemplo, podemos ver:

  • 1 jogador na equipe A na posição F.
  • Existem 2 jogadores na equipe A na posição G.
  • 3 jogadores no total no Time A.

E assim por diante.

Este tipo de gráfico é particularmente útil quando queremos visualizar o número total de itens para cada valor único no eixo x.

Nota : Você pode encontrar a documentação completa da função crosstab() do pandas aqui .

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns do panda:

Pandas: Como criar uma crosstab com porcentagens
Pandas: Como usar aggfunc na função crosstab()
Pandas: como anotar barras em um gráfico de barras

Add a Comment

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