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: 막대 그래프에서 막대에 주석을 추가하는 방법