Pandas 내장 시각화 기능 (plot()) 활용하기
데이터 분석을 하다 보면 데이터의 패턴을 시각적으로 파악하는 것이 중요합니다. Pandas는 Matplotlib을 기반으로 하는 기본적인 시각화 기능을 제공하며, plot()
메서드를 활용하여 손쉽게 그래프를 그릴 수 있습니다. 이번 글에서는 Pandas의 plot()
메서드를 이용한 다양한 그래프를 소개하고 예제와 함께 살펴보겠습니다.
1. 데이터 준비
우선, 예제 데이터를 생성하여 Pandas의 기본적인 시각화 기능을 실습해 보겠습니다.
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# 예제 데이터 생성
df = pd.DataFrame({
'날짜': pd.date_range(start='2024-01-01', periods=10, freq='D'),
'매출액': np.random.randint(100, 500, size=10),
'고객 수': np.random.randint(10, 100, size=10)
})
# 날짜를 인덱스로 설정
df.set_index('날짜', inplace=True)
df.head()
이제 df
데이터프레임을 활용하여 다양한 그래프를 그려 보겠습니다.
2. 선 그래프 (Line Plot)
Pandas의 plot()
기본값은 선 그래프입니다. 데이터의 추세를 확인할 때 유용합니다.
df.plot(y=['매출액', '고객 수'], figsize=(10, 5), title='매출액 및 고객 수 변화')
plt.show()
결과 해석
y
매개변수를 지정하여 여러 열을 동시에 시각화할 수 있습니다.figsize
는 그래프의 크기를 설정합니다.title
을 지정하여 그래프의 제목을 추가할 수 있습니다.
3. 막대 그래프 (Bar Plot)
막대 그래프는 특정 범주(category)별 값을 비교하는 데 적합합니다.
df.plot(kind='bar', y='매출액', figsize=(10, 5), title='일별 매출액')
plt.show()
또한, 수평 막대 그래프로도 표현할 수 있습니다.
df.plot(kind='barh', y='매출액', figsize=(10, 5), title='일별 매출액 (수평 막대)')
plt.show()
4. 히스토그램 (Histogram)
히스토그램은 데이터의 분포를 확인하는 데 유용합니다.
df['매출액'].plot(kind='hist', bins=5, figsize=(10, 5), title='매출액 분포')
plt.show()
결과 해석
bins
매개변수를 통해 구간(bin)의 개수를 조정할 수 있습니다.- 연속형 데이터의 분포를 확인할 때 활용됩니다.
5. 산점도 (Scatter Plot)
산점도는 두 변수 간의 관계를 시각적으로 확인하는 데 유용합니다.
df.plot(kind='scatter', x='매출액', y='고객 수', figsize=(10, 5), title='매출액과 고객 수 관계')
plt.show()
결과 해석
x
,y
매개변수를 지정하여 두 변수 간의 관계를 시각화할 수 있습니다.- 데이터가 특정 패턴을 따르는지 확인할 수 있습니다.
6. 박스플롯 (Box Plot)
박스플롯은 데이터의 분포 및 이상치를 확인하는 데 유용합니다.
df[['매출액', '고객 수']].plot(kind='box', figsize=(10, 5), title='매출액과 고객 수 분포')
plt.show()
결과 해석
- 박스플롯을 통해 데이터의 중앙값, 사분위수, 이상치를 한눈에 파악할 수 있습니다.
- 데이터의 변동성을 확인하는 데 도움을 줍니다.
7. 파이 차트 (Pie Chart)
파이 차트는 비율을 시각화할 때 사용됩니다. 특정 날짜의 고객 수 비율을 확인해 보겠습니다.
df.loc['2024-01-01':'2024-01-05', '고객 수'].plot(kind='pie', autopct='%1.1f%%', figsize=(6, 6), title='고객 수 비율')
plt.ylabel('') # y축 레이블 제거
plt.show()
결과 해석
autopct
매개변수를 활용하여 비율을 표시할 수 있습니다.- 특정 데이터만 선택하여 부분적으로 파이 차트를 만들 수 있습니다.
8. 영역 그래프 (Area Plot)
영역 그래프는 선 그래프와 유사하지만, 아래 영역을 색으로 채워 데이터를 강조할 수 있습니다.
df.plot(kind='area', alpha=0.4, figsize=(10, 5), title='매출액 및 고객 수 변화')
plt.show()
결과 해석
alpha
매개변수를 조정하여 투명도를 설정할 수 있습니다.- 여러 변수의 누적 효과를 확인하는 데 유용합니다.
9. 그래프 스타일 설정
Pandas의 시각화 기능은 Matplotlib을 기반으로 하기 때문에 다양한 스타일을 적용할 수 있습니다.
plt.style.use('seaborn-darkgrid') # 스타일 변경
df.plot(y=['매출액', '고객 수'], figsize=(10, 5), title='매출액 및 고객 수 변화')
plt.show()
마무리
이번 포스팅에서는 Pandas의 내장 시각화 기능인 plot()
메서드를 활용하여 다양한 그래프를 그리는 방법을 살펴보았습니다. Pandas의 시각화 기능은 기본적인 분석에는 충분하지만, 보다 정교한 커스터마이징이 필요하다면 Matplotlib이나 Seaborn과 함께 활용하는 것이 좋습니다.
'Python > Pandas' 카테고리의 다른 글
Pandas Seaborn을 활용한 고급 시각화 (0) | 2025.10.17 |
---|---|
Pandas Matplotlib을 이용한 데이터 시각화 (0) | 2025.10.16 |
Pandas 데이터 프레임 결합: merge()와 concat() (0) | 2025.10.14 |
Pandas Pivot Table 활용 (pivot_table()) (0) | 2025.10.13 |
Pandas 그룹화(groupby()) 및 집계 함수(agg(), mean(), sum()) (0) | 2025.10.12 |