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

Python Pandas – Seaborn 상자 그림에서 order 매개변수로 박스 순서 명시적으로 제어하기

Seaborn의 상자 그림(Box Plot)은 범주형 데이터에 대한 분포를 시각적으로 비교할 때 유용하게 사용되는 그래프입니다. seaborn.boxplot() 함수를 호출하여 손쉽게 그릴 수 있으며, 이때 order 매개변수를 활용하면 박스가 표시되는 순서를 원하는 대로 지정할 수 있습니다.

데이터 준비

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

order 매개변수로 박스 순서 제어하기

Academy(아카데미)와 Age(나이)를 기준으로 상자 그림을 그려보겠습니다. 기본값으로는 범주가 알파벳순 등 자동으로 정렬되지만, order 매개변수에 리스트를 전달하면 "Tasmania", "South Australia", "Victoria"처럼 원하는 순서대로 박스를 배치할 수 있습니다.

sb.boxplot(x='Academy', y='Age', data=dataFrame,
           order=["Tasmania", "South Australia", "Victoria"])

전체 예제 코드

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

# CSV 파일에서 데이터를 불러와 Pandas DataFrame에 저장
dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\Cricketers.csv")

# Academy와 Age를 기준으로 상자 그림 생성
# order 매개변수에 명시적인 순서를 전달하여 박스 순서 제어
sb.boxplot(x='Academy', y='Age', data=dataFrame,
           order=["Tasmania", "South Australia", "Victoria"])

# 그래프 출력
plt.show()

실행 결과

위 코드를 실행하면 Academy별 나이 분포가 지정한 순서(Tasmania → South Australia → Victoria)대로 표시된 상자 그림이 출력됩니다.

Python Pandas – Seaborn 상자 그림에서 order 매개변수로 박스 순서 명시적으로 제어하기

정리

Seaborn의 boxplot() 함수는 범주형 변수 간 수치 데이터의 분포를 한눈에 파악할 수 있는 강력한 도구입니다. 특히 order 매개변수를 사용하면 박스의 표시 순서를 명시적으로 제어할 수 있어, 보고서나 발표 자료에서 특정 항목을 우선적으로 강조하고 싶을 때 매우 유용합니다.