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 )
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:
- Há 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:
- Há 1 jogador na equipe A na posição F.
- Existem 2 jogadores na equipe A na posição G.
- Há 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