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

Python Pandas – Seaborn으로 점 플롯 그리기 및 order 매개변수로 표시 순서 제어하기


Seaborn의 점 플롯(Point Plot)은 산점도(scatter plot) 기호를 활용해 데이터의 점 추정치와 신뢰 구간을 한눈에 보여주는 시각화 기법입니다. 이를 구현하려면 seaborn.pointplot() 메서드를 사용하면 됩니다.

특히 범주형 변수를 특정한 순서대로 표시하고 싶다면, pointplot() 메서드의 order 매개변수에 원하는 순서를 명시적으로 전달하면 됩니다. 이번 글에서는 그 방법을 예제와 함께 살펴보겠습니다.

1. 준비 단계 – 라이브러리 임포트

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

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

2. CSV 파일로부터 데이터 불러오기

이번 예제에서는 크리켓 선수 정보가 담긴 CSV 파일(Cricketers.csv)을 사용합니다. Pandas의 read_csv() 함수를 이용해 파일을 DataFrame으로 불러옵니다.

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

3. order 매개변수로 순서 지정하기

이제 'Academy'(소속 아카데미)와 'Age'(나이)를 축으로 하는 점 플롯을 그려보겠습니다. 여기서 x축 범주의 표시 순서를 'Tasmania', 'South Australia', 'Victoria' 순으로 강제 지정하려면 order 매개변수에 리스트 형태로 전달합니다.

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

order 매개변수를 사용하지 않으면 Seaborn이 범주를 자체적으로 정렬해 표시하지만, 위처럼 명시적인 순서를 전달하면 원하는 대로 축 순서를 완벽하게 제어할 수 있습니다.

전체 예제 코드

지금까지 설명한 내용을 모두 포함한 완성된 코드는 다음과 같습니다.

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

sb.set_theme(style="darkgrid")

# Academy와 Age로 점 플롯 그리기
# order 매개변수에 명시적인 순서를 전달해 'Academy' 기준 표시 순서 제어
sb.pointplot( x = 'Academy', y = 'Age', data = dataFrame,
              order=["Tasmania", "South Australia", "Victoria"] )

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

실행 결과

위 코드를 실행하면 x축에 'Tasmania', 'South Australia', 'Victoria' 순서대로 아카데미가 배치되고, 각 아카데미별 나이의 점 추정치와 신뢰 구간이 함께 표시된 점 플롯이 출력됩니다.

Python Pandas – Seaborn으로 점 플롯 그리기 및 order 매개변수로 표시 순서 제어하기