데이터 처리, 시각화는 교육은 끝이에요.
데이터 처리 부터 시각화까지 제가 올린게 기본이고 추가적으로 더 공부하셔도 좋을 것 같습니다!
1. Matplotlib이란?
Matplotlib은 파이썬에서 가장 널리 사용되는 데이터 시각화 라이브러리다.
- 수치 데이터, 범주형 데이터, 시간에 따른 변화를 직관적으로 시각화할 수 있다.
- 다양한 종류의 그래프(선 그래프, 막대 그래프, 산점도 등)를 손쉽게 만들 수 있다.
- 기본적인 기능은 matplotlib.pyplot 모듈을 통해 빠르게 사용할 수 있다.
import matplotlib.pyplot as plt
Matplotlib은 커스터마이징이 매우 자유롭기 때문에, 처음에는 약간 복잡하게 느껴질 수 있지만, 기본적인 사용법을 익히고 나면 다양한 스타일로 자유롭게 그래프를 그릴 수 있다.
데이터를 효과적으로 전달하려면 수치나 표만 보여주는 것보다, 한눈에 이해할 수 있는 그래프를 만드는 것이 훨씬 강력하다.
2. Seaborn 라이브러리 - 고급 시각화 따라잡기
Seaborn이란?
Seaborn은 Matplotlib을 기반으로 만들어진 고급 시각화 라이브러리다.
- 기본 설정만으로도 깔끔하고 세련된 그래프를 쉽게 그릴 수 있다.
- 데이터셋의 다양한 패턴과 분포를 한눈에 확인할 수 있도록 도와준다.
import seaborn as sns
import matplotlib.pyplot as plt
Seaborn을 사용할 때는 Matplotlib과 함께 불러오는 것이 일반적이다.
3. Seaborn 기본 사용법
3-1. 히스토그램 그리기 (Histplot)
sns.histplot(data=tips, x='total_bill', bins=10)
plt.title('Total Bill 히스토그램')
plt.show()
✔️ 결과
총지출(total_bill)의 분포를 막대그래프로 시각화한 것이다.
3-2. 밀도 그래프 그리기 (KDE Plot)
sns.kdeplot(data=tips, x='total_bill')
plt.title('Total Bill 밀도곡선')
plt.show()
✔️ 결과
부드러운 곡선을 통해 데이터의 분포를 부드럽게 확인할 수 있다.
3-3. 박스플롯 그리기 (Boxplot)
sns.boxplot(data=tips, x='day', y='total_bill')
plt.title('요일별 총 지출 박스플롯')
plt.show()
✔️ 결과
각 요일별 지출 금액의 중앙값, 사분위수, 이상치를 한눈에 볼 수 있다.
3-4. 산점도+히스토그램 (Jointplot)
sns.jointplot(data=tips, x='total_bill', y='tip', kind='scatter')
plt.suptitle('총지출과 팁 금액 관계', y=1.02)
plt.show()
✔️ 결과
두 변수(total_bill과 tip) 사이의 관계를 산점도와 주변 히스토그램으로 동시에 보여준다.
3-5. 변수쌍 관계 전체 보기 (Pairplot)
sns.pairplot(data=tips, vars=['total_bill', 'tip', 'size'], hue='sex', diag_kind='hist')
plt.suptitle('성별에 따른 변수 관계', y=1.02)
plt.show()
✔️ 결과
여러 변수들 간의 관계를 한눈에 비교할 수 있으며, 색깔로 성별을 구분한다.
3-6. 범주형 데이터 빈도 (Countplot)
sns.countplot(data=tips, x='day')
plt.title('요일별 방문 빈도')
plt.show()
✔️ 결과
각 요일별 방문 횟수를 막대그래프로 나타낸다.
3-7. 상관관계 히트맵 (Heatmap)
corr = tips.corr()
sns.heatmap(corr, annot=True, cmap='coolwarm', fmt='.2f')
plt.title('변수 간 상관관계 히트맵')
plt.show()
✔️ 결과
변수 간의 상관관계를 색깔로 시각화하여 빠르게 파악할 수 있다.
Seaborn 정리
히스토그램 | histplot() |
밀도 그래프 | kdeplot() |
박스플롯 | boxplot() |
산점도+히스토그램 | jointplot() |
변수 관계 전체 | pairplot() |
범주형 데이터 빈도 | countplot() |
상관관계 히트맵 | heatmap() |
Seaborn은 특히 데이터 분석 과정 중 EDA(탐색적 데이터 분석)에 강력한 힘을 발휘한다. 한 번만 그려도 데이터를 깊이 있게 이해할 수 있다.
마무리
수고 많으셨습니다! Matplotlib보다 직관적이거나 쉬운 부분도 있습니다. 적절하게 섞어 쓰시면 편하실 것 같습니다!
(질문은 댓글로 자유롭게 남겨주세요!)
'KT에이블스쿨 7기' 카테고리의 다른 글
[KT AIVLE School 7기] 데이터 분석 및 시각화(4) (0) | 2025.04.28 |
---|---|
[KT AIVLE School 7기] 데이터 분석 및 시각화(3) (0) | 2025.04.28 |
[KT AIVLE School 7기] 데이터 분석 및 시각화(1) (0) | 2025.04.28 |
[KT AIVLE School 7기] 파이썬 데이터 처리 (0) | 2025.04.27 |
[KT AIVLE School 7기] 파이썬 기초 (0) | 2025.04.27 |