Pandas: 크로스탭에서 막대 그래프를 만드는 방법


다음 방법을 사용하여 Pandas 크로스탭의 개수를 시각화하는 막대형 차트를 만들 수 있습니다.

방법 1: 클러스터된 막대 그래프 생성

 import matplotlib. pyplot as plt

my_crosstab. plot (kind=' bar ')

방법 2: 누적 막대 그래프 생성

 import matplotlib. pyplot as plt

my_crosstab. plot (kind=' bar ', stacked= True )

다음 예에서는 다음 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: 크로스탭에서 그룹화된 막대 그래프 만들기

다음 구문을 사용하여 크로스탭에서 그룹화된 막대 그래프를 만들 수 있습니다.

 import matplotlib. pyplot as plt

#create grouped bar plot
my_crosstab. plot (kind=' bar ', rot= 0 ) 

크로스탭에서 팬더 그룹화 막대 그래프

참고 : rot=0 인수는 x축 레이블을 90도 회전하여 읽기 쉽게 만듭니다.

x축에는 팀 이름이 표시되고 그룹화된 막대에는 각 위치의 빈도 수가 표시됩니다.

예를 들어 다음을 볼 수 있습니다.

  • A팀에는 F포지션에 1명의 선수가 있습니다.
  • A팀에는 G 포지션의 선수가 2 명 있다.

등등.

예 2: 크로스탭에서 누적 막대 그래프 생성

다음 구문을 사용하여 크로스탭에서 누적 막대 그래프를 만들 수 있습니다.

 import matplotlib. pyplot as plt

#create stacked bar plot
my_crosstab. plot (kind=' bar ', stacked= True , rot= 0 ) 

참고 : stacked=True 인수를 사용하면 그룹화된 막대 그래프 대신 누적 막대 그래프를 생성할 수 있습니다.

x축에는 팀 이름이 표시되고 누적 막대에는 각 위치의 빈도 수가 표시됩니다.

예를 들어 다음을 볼 수 있습니다.

  • A팀에는 F포지션에 1명의 선수가 있습니다.
  • A팀에는 G 포지션의 선수가 2 명 있다.
  • A팀에는 총 3명의 선수가 있습니다.

등등.

이 유형의 플롯은 x축의 각 고유 값에 대한 총 항목 수를 시각화하려는 경우 특히 유용합니다.

참고 : 여기에서 pandas crosstab() 함수에 대한 전체 문서를 찾을 수 있습니다.

추가 리소스

다음 튜토리얼에서는 다른 일반적인 Panda 작업을 수행하는 방법을 설명합니다.

Pandas: 백분율로 크로스탭을 만드는 방법
Pandas: crosstab() 함수에서 aggfunc를 사용하는 방법
Pandas: 막대 그래프에서 막대에 주석을 추가하는 방법

의견을 추가하다

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