반응형

데이터 분석에서 시각화는 데이터를 효과적으로 이해하고 패턴을 찾는 데 매우 중요합니다.
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을 활용한 고급 데이터 시각화를 다뤄보겠습니다! 

반응형

+ Recent posts