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: как создать гистограмму из кросс-таблицы