이 튜토리얼에서는 파이썬의 대표적인 데이터 분석 라이브러리인 pandas와 시각화 라이브러리인 matplotlib를 활용해 데이터를 분석하고 그래프로 표현하는 방법을 알아봅니다. 파이썬은 풍부한 라이브러리 생태계 덕분에 데이터 분석 작업에 매우 적합한 언어입니다.
라이브러리 설치하기
먼저 아래 명령어를 실행하여 필요한 모듈들을 설치합니다.
pip install pandas
pip install matplotlib
설치가 정상적으로 완료되면 성공 메시지가 출력됩니다. 이제 먼저 pandas의 기본 사용법을 살펴본 후, 이어서 matplotlib로 데이터를 시각화하는 방법을 알아보겠습니다.
pandas란 무엇인가?
pandas는 파이썬의 오픈소스 라이브러리로, 데이터 분석에 필요한 다양한 도구를 제공합니다. 표 형태의 데이터를 손쉽게 다룰 수 있어 데이터 분석의 필수 도구로 자리 잡고 있습니다. 지금부터 pandas에서 자주 사용되는 핵심 기능들을 살펴보겠습니다.
DataFrame 만들기
DataFrame은 행과 열로 구성된 표 형태의 자료구조입니다. 여러 개의 행 데이터를 전달하여 DataFrame을 생성할 수 있습니다.
예제
# pandas 패키지 불러오기 import pandas as pd # 행 데이터 생성 hafeez = ['Hafeez', 19] aslan = ['Aslan', 21] kareem = ['Kareem', 18] # 리스트를 DataFrame으로 변환하면서 열 이름도 함께 지정 data_frame = pd.DataFrame([hafeez, aslan, kareem], columns=['Name', 'Age']) # DataFrame 출력 print(data_frame)
실행 결과
위 프로그램을 실행하면 다음과 같은 결과가 출력됩니다.
Name Age 0 Hafeez 19 1 Aslan 21 2 Kareem 18
pandas로 CSV 데이터 불러오기
실무에서는 직접 데이터를 입력하는 것보다 외부 파일에서 데이터를 가져오는 경우가 훨씬 많습니다. CSV 파일은 쉼표(,)로 값을 구분하는 텍스트 형식으로, pandas의 read_csv() 메서드를 사용하면 간단하게 불러올 수 있습니다.
예제
# pandas 패키지 불러오기
import pandas as pd
# pd.read_csv() 메서드로 데이터 불러오기
data = pd.read_csv('CountryData.IND.csv')
# head() 메서드로 처음 5개 행 출력
print(data.head())실행 결과
위 프로그램을 실행하면 CSV 파일의 첫 5행이 화면에 출력됩니다.

데이터 구조 확인하기
불러온 데이터가 몇 개의 행과 열로 구성되어 있는지는 shape 속성으로 확인할 수 있습니다.
예제
# pandas 패키지 불러오기
import pandas as pd
# pd.read_csv() 메서드로 데이터 불러오기
data = pd.read_csv('CountryData.IND.csv')
# 행과 열의 개수 출력
print(data.shape)실행 결과
(29, 16)
결과를 보면 이 데이터는 29개의 행과 16개의 열로 구성되어 있음을 알 수 있습니다.
기술 통계 한눈에 보기: describe()
describe() 메서드를 사용하면 평균, 표준편차, 최솟값, 최댓값 등 다양한 통계 정보를 한 번에 계산할 수 있습니다. 이때 결측값(NaN)은 자동으로 제외됩니다.
예제
# pandas 패키지 불러오기
import pandas as pd
# pd.read_csv() 메서드로 데이터 불러오기
data = pd.read_csv('CountryData.IND.csv')
# 기술 통계량 출력
print(data.describe())실행 결과
위 프로그램을 실행하면 각 열별 통계 요약이 표 형태로 출력됩니다.

matplotlib로 데이터 시각화하기
숫자로만 된 데이터보다 그래프로 표현된 데이터가 훨씬 직관적입니다. matplotlib 패키지를 사용하면 히스토그램, 선 그래프, 산점도 등 다양한 종류의 그래프를 쉽게 만들 수 있습니다.
예제
# 그래프 생성을 위한 pyplot 모듈 불러오기
import matplotlib.pyplot as plot
import pandas as pd
# pd.read_csv() 메서드로 데이터 불러오기
data = pd.read_csv('CountryData.IND.csv')
# 'Time period' 열의 히스토그램 생성 (구간 10개)
data['Time period'].hist(bins=10)실행 결과
위 코드를 실행하면 히스토그램 객체가 반환되고, 다음과 같은 그래프가 그려집니다.
<matplotlib.axes._subplots.AxesSubplot at 0x25e363ea8d0>

이처럼 matplotlib 패키지를 활용하면 데이터의 특성과 분포를 다양한 유형의 그래프로 손쉽게 시각화할 수 있습니다.
마무리
이번 튜토리얼에서는 pandas로 데이터를 불러오고 탐색하는 방법과 matplotlib로 시각화하는 기본 과정을 배웠습니다. 내용 중 궁금한 점이나 어려운 부분이 있다면 댓글로 남겨주세요. 추가로 groupby(), 결측치 처리, 다양한 그래프 스타일 등을 학습하면 더욱 실전적인 데이터 분석 역량을 키울 수 있습니다.