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

Matplotlib로 Pandas DataFrame을 파이 차트에 시각화하는 방법

데이터 분석에서 Pandas DataFrame의 데이터를 한눈에 파악하려면 시각화가 매우 효과적입니다. 이 글에서는 Matplotlibpie() 메서드를 활용해 DataFrame 데이터를 파이 차트(원형 그래프)로 그리는 방법을 단계별로 소개합니다.

구현 단계

  • 그림 크기 설정: plt.rcParams를 사용해 figure 크기를 지정하고, 서브플롯 간의 여백(padding)을 자동으로 조정합니다.
  • DataFrame 생성: 2차원 형태의, 크기가 가변적이며 이질적인(heterogeneous) 데이터를 담을 수 있는 표 형태의 DataFrame을 만듭니다.
  • 파이 차트 그리기: 'activities' 열을 인덱스로 설정한 뒤, plot.pie() 메서드를 사용하여 'hours' 값을 기준으로 파이 차트를 그립니다.
  • 차트 출력: show() 메서드를 호출하여 완성된 그림을 화면에 표시합니다.

예제 코드

import pandas as pd
from matplotlib import pyplot as plt

# 그림 크기 및 레이아웃 자동 조정 설정
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

# 활동별 시간 데이터로 DataFrame 생성
df = pd.DataFrame({'activities': ['sleep', 'exercise', 'work', 'study'],
                   'hours': [8, 1, 9, 6]})

# 'activities'를 인덱스로 설정하고 'hours' 기준으로 파이 차트 그리기
df.set_index('activities').plot.pie(y='hours', legend=False,
                                    autopct='%1.1f%%')

plt.show()

코드 설명

위 예제에서는 하루 동안의 활동(수면, 운동, 일하기, 공부)과 각 활동에 소요된 시간을 담은 DataFrame을 생성합니다. set_index('activities')를 통해 활동명을 인덱스로 지정하면, 파이 차트의 각 조각에 해당 활동명이 자동으로 라벨링됩니다.

autopct='%1.1f%%' 옵션은 각 조각 위에 소수점 첫째 자리까지의 백분율(%)을 표시해 주며, legend=False로 설정하여 범례 없이 깔끔한 차트를 만들 수 있습니다.

실행 결과

Matplotlib로 Pandas DataFrame을 파이 차트에 시각화하는 방법

실행하면 각 활동이 하루 전체 시간에서 차지하는 비율이 직관적으로 표현된 파이 차트를 확인할 수 있습니다. 이처럼 Pandas와 Matplotlib를 함께 사용하면 별도의 복잡한 전처리 없이도 DataFrame 데이터를 손쉽게 시각화할 수 있습니다.