Pandas: как сортировать значения в кросс-таблице


Вы можете использовать следующие методы для сортировки строк или столбцов в кросс-таблице Pandas:

Способ 1. Сортировка кросс-таблицы по значениям строк

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

Способ 2. Сортировка кросс-таблицы по значениям столбцов

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

В следующих примерах показано, как использовать каждый из этих методов на практике со следующей перекрестной таблицей 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

Пример 1. Сортировка кросс-таблицы по значениям строк

Мы можем использовать следующий синтаксис для сортировки строк кросс-таблицы на основе значений столбца команды в порядке убывания (от Z до 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

Обратите внимание, что строки кросс-таблицы теперь сортируются по значениям команд в обратном алфавитном порядке.

Примечание . Функция crosstab() по умолчанию отображает значения строк кросс-таблицы в алфавитном порядке (от A до Z).

Пример 2. Сортировка кросс-таблицы по значениям столбцов

Мы можем использовать следующий синтаксис для сортировки столбцов кросс-таблицы на основе значений столбцов команды в порядке убывания (от Z до 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

Обратите внимание, что столбцы кросс-таблицы теперь сортируются по значениям позиций в обратном алфавитном порядке.

Примечание . Функция crosstab() по умолчанию отображает значения столбцов кросс-таблицы в алфавитном порядке (от A до Z).

Примечание . Полную документацию по функции pandas crosstab() можно найти здесь .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в pandas:

Pandas: как создать кросс-таблицу с процентами
Pandas: как использовать aggfunc в функции crosstab()
Pandas: как создать гистограмму из кросс-таблицы

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *