Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python Pandas – Seaborn으로 카운트 플롯(Count Plot) 쉽게 그리기

Seaborn의 카운트 플롯(Count Plot)은 범주형 데이터의 각 항목별 관측치 개수를 막대그래프로 시각화하는 데 사용됩니다. 이를 위해 seaborn.countplot() 함수를 활용하며, 데이터 분포를 한눈에 파악할 수 있어 탐색적 데이터 분석(EDA)에서 매우 유용하게 쓰입니다.

이번 글에서는 CSV 파일로 저장된 크리켓 선수 데이터셋(Cricketers.csv)을 예제로 사용해 카운트 플롯을 그리는 방법을 단계별로 살펴보겠습니다.

1. 필요한 라이브러리 불러오기

먼저 시각화와 데이터 처리에 필요한 세 가지 라이브러리를 임포트합니다.

import seaborn as sb
import pandas as pd
import matplotlib.pyplot as plt

2. CSV 파일에서 데이터 불러오기

Pandas의 read_csv() 함수를 사용해 CSV 파일을 DataFrame으로 로드합니다.

dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\Cricketers.csv")

3. 기본 카운트 플롯 그리기

다음은 'Age'(나이) 열을 기준으로 카운트 플롯을 그리는 전체 코드입니다.

import seaborn as sb
import pandas as pd
import matplotlib.pyplot as plt

# CSV 파일에서 데이터를 DataFrame으로 불러오기
dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\Cricketers.csv")

# Age 열을 기준으로 카운트 플롯 그리기
sb.countplot(dataFrame["Age"])

# 그래프 화면에 표시
plt.show()

실행 결과

위 코드를 실행하면 나이별 선수 수가 막대그래프로 표시되어, 어떤 연령대에 선수가 가장 많은지 한눈에 확인할 수 있습니다.

4. hue 파라미터로 그룹 비교하기

카운트 플롯의 강력한 기능 중 하나는 hue 파라미터입니다. hue를 지정하면 각 범주를 다른 하위 그룹으로 나누어 색상별로 비교할 수 있습니다.

다음 예제에서는 'Role'(역할) 열을 x축으로 하고, 'Academy'(아카데미) 열을 hue로 지정하여 역할별 선수 수를 아카데미별로 구분해 시각화합니다.

import seaborn as sb
import pandas as pd
import matplotlib.pyplot as plt

# CSV 파일에서 데이터를 DataFrame으로 불러오기
dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\Cricketers.csv")

# Role 열을 x축으로, Academy를 hue로 지정하여 카운트 플롯 그리기
sb.countplot(x="Role", hue="Academy", data=dataFrame)

# 그래프 화면에 표시
plt.show()

실행 결과

실행 결과, 각 역할(예: 배터맨, 볼러 등)별 선수 수가 아카데미별로 다른 색상의 막대로 구분되어 나타납니다. 이를 통해 두 범주형 변수 간의 관계와 분포 차이를 직관적으로 비교할 수 있습니다.

마무리

지금까지 Seaborn의 countplot() 함수를 사용해 범주형 데이터의 개수를 시각화하는 방법을 알아보았습니다. 기본적인 개수 분포 확인부터 hue 파라미터를 활용한 그룹 간 비교까지, 카운트 플롯은 데이터의 구조를 빠르게 이해하는 데 탁월한 도구입니다. 실제 프로젝트에서도 다양한 범주형 변수 조합에 적용해 보시길 권장합니다.