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

Python Pandas - Seaborn으로 점 플롯 그리기와 관측값의 표준 편차 표시 방법

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

특히 관측값의 표준 편차(Standard Deviation)를 함께 표시하고 싶다면, pointplot() 메서드의 신뢰 구간 관련 매개변수인 ci에 "sd" 값을 지정하면 됩니다.

데이터셋 준비

이번 예제에서는 다음과 같은 형태의 CSV 파일인 Cricketers.csv를 데이터셋으로 사용합니다.

필요한 라이브러리 임포트

먼저 예제에 필요한 라이브러리들을 불러옵니다.

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

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

Pandas의 read_csv() 함수를 사용하여 CSV 파일의 데이터를 DataFrame 형태로 불러옵니다.

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

점 플롯 그리기

"Academy"와 "Age" 열을 기준으로 점 플롯을 그려보겠습니다. 이때 ci 매개변수에 "sd" 값을 지정하면 관측값의 표준 편차가 그래프에 함께 표시됩니다.

sb.pointplot(x='Academy', y='Age', data=dataFrame, ci="sd")

전체 예제 코드

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

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를 기준으로 점 플롯 그리기
# ci 매개변수에 "sd"를 지정하여 관측값의 표준 편차 표시
sb.pointplot(x='Academy', y='Age', data=dataFrame, ci="sd")

# 그래프 출력
plt.show()

실행 결과

위 코드를 실행하면 각 아카데미(Academy)별 나이(Age)의 평균 추정치와 함께 표준 편차 범위가 오차 막대(error bar)로 표시된 점 플롯이 출력됩니다.

Python Pandas - Seaborn으로 점 플롯 그리기와 관측값의 표준 편차 표시 방법


참고 사항

Seaborn 0.12 버전부터는 ci 매개변수가 더 이상 권장되지 않으며(deprecated), 대신 errorbar="sd"를 사용하는 것이 좋습니다. 최신 버전 환경에서 작업 중이라면 아래와 같이 작성할 수 있습니다.

sb.pointplot(x='Academy', y='Age', data=dataFrame, errorbar="sd")