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

Python Pandas – Seaborn으로 두 개의 범주형 변수를 기준으로 스웜 플롯 그룹화하기

Seaborn의 스웜 플롯(Swarm Plot)은 점들이 서로 겹치지 않도록 배치되는 범주형 산점도를 그리는 시각화 기법입니다. 이를 위해 seaborn.swarmplot() 함수를 사용하며, 두 개의 범주형 변수를 기준으로 스웜을 그룹화하려면 x, y, 그리고 hue 매개변수에 해당 변수들을 지정하면 됩니다.

데이터셋 준비

이번 예제에서는 CSV 파일 형태의 다음 데이터셋을 사용합니다: Cricketers2.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\\Cricketers2.csv")

3. 두 개의 범주형 변수로 스웜 그룹화하기

x축에는 'Role'(역할), y축에는 'Matches'(경기 수)를 지정하고, hue 매개변수에 'Academy'(아카데미)를 설정하여 세 번째 범주형 변수까지 한 번에 구분할 수 있습니다.

sb.swarmplot(x = "Role", y = "Matches", hue = "Academy", data = dataFrame)

전체 예제 코드

다음은 지금까지의 내용을 모두 포함한 완성된 코드입니다.

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

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

# 테마 설정
sb.set_theme(style="whitegrid")

# 두 개의 범주형 변수를 기준으로 스웜 플롯 그룹화
sb.swarmplot(x = "Role", y = "Matches", hue = "Academy", data = dataFrame)

# 그래프 표시
plt.show()

실행 결과

위 코드를 실행하면 'Role'별로 경기 수(Matches)가 표시되고, 색상으로 'Academy'가 구분된 스웜 플롯이 출력됩니다. 이를 통해 각 역할 그룹 내에서 아카데미별 분포를 직관적으로 비교할 수 있습니다.