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: crosstab() 함수에서 aggfunc를 사용하는 방법
Pandas: 크로스탭에서 막대 그래프를 만드는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다