반응형
데이터 분석에서 시각화는 데이터를 효과적으로 이해하고 패턴을 찾는 데 매우 중요합니다.
Pandas는 기본적인 그래프를 쉽게 그릴 수 있도록 Matplotlib과 연동됩니다.
이번 글에서는 Pandas를 활용한 다양한 데이터 시각화 방법을 배워보겠습니다.
1. 기본 설정 및 데이터 불러오기
먼저, 시각화를 위해 필요한 라이브러리를 불러오고 데이터도 준비합니다.
import pandas as pd
import matplotlib.pyplot as plt
# 예제 데이터 불러오기
df = pd.read_csv('data.csv')
# 한글 폰트 설정 (Mac, Windows 환경에 맞게 설정 필요)
plt.rc('font', family='AppleGothic') # Mac
# plt.rc('font', family='Malgun Gothic') # Windows
# 시각화 스타일 설정 (선택사항)
plt.style.use('seaborn-v0_8-darkgrid')
2. 선 그래프(Line Plot) - 트렌드 분석
선 그래프는 시간에 따른 데이터 변화를 나타내는 데 유용합니다.
df.plot(x='날짜', y='판매량', kind='line', figsize=(10, 5), title="일별 판매량 추이")
plt.show()
- x='날짜': x축을 날짜로 설정
- y='판매량': y축을 판매량으로 설정
- kind='line': 선 그래프(line plot) 선택
- figsize=(10, 5): 그래프 크기 지정
- title="일별 판매량 추이": 그래프 제목 설정
3. 막대 그래프(Bar Plot) - 카테고리 비교
막대 그래프는 카테고리별 값을 비교하는 데 적합합니다.
df.plot(x='제품명', y='판매량', kind='bar', figsize=(10, 5), title="제품별 판매량 비교")
plt.show()
수직이 아닌 수평 막대 그래프도 가능합니다.
df.plot(x='제품명', y='판매량', kind='barh', figsize=(10, 5), title="제품별 판매량 비교")
plt.show()
4. 히스토그램(Histogram) - 데이터 분포 확인
히스토그램은 데이터의 분포를 확인하는 데 사용됩니다.
df['판매량'].plot(kind='hist', bins=10, figsize=(10, 5), title="판매량 분포")
plt.show()
- bins=10: 막대 개수 지정 (10개 구간)
5. 산점도(Scatter Plot) - 상관 관계 분석
산점도는 두 변수 간의 관계를 분석할 때 사용됩니다.
df.plot(x='광고비', y='판매량', kind='scatter', figsize=(10, 5), title="광고비 vs 판매량")
plt.show()
- x='광고비', y='판매량': 두 변수의 관계를 분석
- kind='scatter': 산점도(scatter plot) 선택
6. 파이 차트(Pie Chart) - 비율 비교
파이 차트는 전체 중에서 각 요소가 차지하는 비율을 보여줍니다.
df.groupby('카테고리')['판매량'].sum().plot(kind='pie', autopct='%1.1f%%', figsize=(7, 7), title="카테고리별 판매량 비율")
plt.show()
- autopct='%1.1f%%': 퍼센트 표시
7. 여러 그래프 한 번에 그리기
여러 개의 그래프를 동시에 표시하려면 subplots=True 옵션을 사용하면 됩니다.
df[['광고비', '판매량']].plot(kind='line', subplots=True, layout=(2, 1), figsize=(8, 8))
plt.show()
8. 데이터 시각화 심화 - Matplotlib 활용
Pandas 기본 그래프보다 더 세밀하게 조정하려면 Matplotlib을 직접 활용할 수도 있습니다.
plt.figure(figsize=(10, 5))
plt.plot(df['날짜'], df['판매량'], marker='o', linestyle='-', color='b', label="판매량")
plt.xlabel("날짜")
plt.ylabel("판매량")
plt.title("일별 판매량 변화")
plt.legend()
plt.grid()
plt.show()
- marker='o': 데이터 포인트를 동그라미로 표시
- linestyle='-': 선 스타일 지정
- color='b': 파란색 선
- plt.xlabel(), plt.ylabel(): x축, y축 라벨 설정
- plt.legend(): 범례 표시
- plt.grid(): 격자 추가
결론
- Pandas 기본 시각화를 활용하면 손쉽게 데이터를 분석할 수 있음
- Matplotlib과 함께 사용하면 세밀한 조정 가능
- 주요 그래프 유형: 선 그래프, 막대 그래프, 히스토그램, 산점도, 파이 차트
다음 글에서는 Seaborn을 활용한 고급 데이터 시각화를 다뤄보겠습니다!
반응형
'프로그래밍 공부 > pyhton' 카테고리의 다른 글
파이썬 데이터 분석 - Seaborn을 활용한 고급 데이터 시각화 (0) | 2025.03.18 |
---|---|
파이썬 데이터 분석 - Pandas를 활용한 데이터 전처리 (0) | 2025.03.14 |
파이썬 데이터 분석 - NumPy와 Pandas 기초 (0) | 2025.03.13 |
파이썬 고급 - 리스트(List), 딕셔너리(Dictionary), 세트(Set) 활용법 (4) | 2025.01.03 |
파이썬 기초 - 제너레이터(Generators) (1) | 2024.09.13 |