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

Python Pandas – Seaborn의 Swarm Plot으로 범주형 변수 기준 데이터 그룹화하기

Seaborn의 Swarm Plot(스웜 플롯)은 점들이 서로 겹치지 않도록 배치되는 범주형 산점도를 그리는 데 사용됩니다. 이때 seaborn.swarmplot() 함수를 활용하며, 범주형 변수를 x축 또는 y축 좌표 중 하나로 지정하기만 하면 해당 변수를 기준으로 스웜을 손쉽게 그룹화할 수 있습니다.

데이터 준비

이번 예제에서는 CSV 파일 형태로 저장된 다음 데이터셋을 사용합니다 — Cricketers2.csv

먼저 필요한 라이브러리를 임포트합니다.

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")

범주형 변수로 스웜 그룹화하기

x축에 범주형인 'Role'(역할) 열을, y축에 수치형인 'Age'(나이) 열을 지정하여 선수들을 역할별로 그룹화한 스웜 플롯을 그립니다.

sb.swarmplot(x = dataFrame["Role"], y = dataFrame["Age"])

전체 예제 코드

다음은 전체 코드입니다.

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")

# 범주형 변수(Role)를 기준으로 스웜 그룹화
sb.swarmplot(x = dataFrame["Role"], y = dataFrame["Age"])

# 그래프 출력
plt.show()

실행 결과

위 코드를 실행하면 역할(Role)별로 나이(Age) 분포가 겹치지 않는 점들로 표현된 스웜 플롯이 출력됩니다. 각 범주 내에서 데이터 포인트가 어떻게 분포되어 있는지 한눈에 파악할 수 있어, 범주형 변수와 수치형 변수 간의 관계를 시각적으로 분석할 때 매우 유용합니다.