Pandas: como classificar valores em uma tabela cruzada


Você pode usar os seguintes métodos para classificar linhas ou colunas em uma crosstab do Pandas:

Método 1: classificar tabela cruzada por valores de linha

 p.d. crosstab (df. col1 , df. col2 ). sort_index (axis= 0 , ascending= False )

Método 2: classificar tabela cruzada por valores de coluna

 p.d. crosstab (df. col1 , df. col2 ). sort_index (axis= 1 , ascending= False )

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: classificar tabela cruzada por valores de linha

Podemos usar a seguinte sintaxe para classificar as linhas da tabela cruzada com base nos valores das colunas da equipe em ordem decrescente (Z a A):

 #create crosstab with rows sorted from Z to A
p.d. crosstab (df. team , df. position ). sort_index (axis= 0 , ascending= False )

position F G
team		
C 2 2
B 3 1
AT 12

Observe que as linhas da crosstab agora são classificadas por valores de equipe em ordem alfabética inversa.

Nota : A função crosstab() exibe os valores das linhas da crosstab em ordem alfabética (A a Z) por padrão.

Exemplo 2: Classificar tabela cruzada por valores de coluna

Podemos usar a seguinte sintaxe para classificar as colunas da tabela cruzada com base nos valores das colunas da equipe em ordem decrescente (Z a A):

 #create crosstab with columns sorted from Z to A
p.d. crosstab (df. team , df. position ). sort_index (axis= 1 , ascending= False )

G F position
team		
At 2 1
B 1 3
C 2 2

Observe que as colunas da crosstab agora são classificadas por valores de posição em ordem alfabética inversa.

Nota : A função crosstab() exibe os valores das colunas da crosstab em ordem alfabética (A a Z) por padrão.

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 em pandas:

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

Add a Comment

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