
파이썬(Python)은 데이터 분석 분야에서 가장 널리 사용되는 언어이며, 그 중심에는 바로 Pandas 라이브러리가 있습니다. Pandas는 구조화된 데이터를 쉽게 다루고 조작할 수 있게 도와주는 강력한 툴로, 데이터 과학자, 엔지니어, 연구원 모두에게 필수적인 도구입니다. 이 글에서는 Pandas의 핵심 개념과 실제 적용 방법을 체계적으로 정리합니다.
1. Pandas란 무엇인가?
Pandas는 Python Data Analysis Library의 줄임말로, 표 형식의 데이터 구조(DataFrame, Series)를 효율적으로 처리할 수 있는 기능을 제공합니다. SQL, Excel, CSV 등 다양한 포맷과의 호환성도 뛰어나며, Numpy 기반으로 동작하여 고속 처리도 가능합니다.
설치 방법
pip install pandas
2. Pandas의 기본 자료 구조
| 자료구조 | 설명 | 예시 |
|---|---|---|
| Series | 1차원 배열 형태. 인덱스를 가진 데이터 | pd.Series([10, 20, 30]) |
| DataFrame | 2차원 테이블 형식의 데이터 | pd.DataFrame({'이름': ['홍길동'], '나이': [30]}) |
기본 예제
import pandas as pd
data = {
'이름': ['철수', '영희', '민수'],
'나이': [25, 30, 28]
}
df = pd.DataFrame(data)
print(df)
3. 데이터 불러오기와 저장
| 작업 | 함수 | 예시 |
|---|---|---|
| CSV 불러오기 | read_csv() | pd.read_csv('data.csv') |
| Excel 불러오기 | read_excel() | pd.read_excel('data.xlsx') |
| 데이터 저장 | to_csv(), to_excel() | df.to_csv('save.csv', index=False) |
4. 데이터 조회 및 조작
기초 조회
df.head() # 처음 5행
df.tail(3) # 마지막 3행
df.info() # 데이터 타입 및 개요
df.describe() # 수치 요약 통계
인덱싱과 필터링
df['이름'] # 단일 열
df[['이름', '나이']] # 여러 열
df[df['나이'] > 27] # 조건 필터
정렬과 변경
df.sort_values(by='나이', ascending=False)
df.rename(columns={'이름': 'Name'}, inplace=True)
5. 결측치 처리 및 데이터 정제
df.isnull().sum() # 결측치 개수 확인
df.dropna() # 결측치 제거
df.fillna(0) # 결측치를 0으로 대체
결측치 처리는 데이터 분석의 품질을 좌우하는 핵심 단계입니다.
6. 그룹화 및 집계
Pandas는 SQL의 GROUP BY와 유사한 기능을 제공합니다.
df.groupby('성별')['나이'].mean()
df.groupby(['성별', '도시']).size()
집계 함수는 mean(), sum(), count(), max(), min() 등이 있습니다.
7. Pandas 주요 함수 요약
| 기능 | 함수명 | 설명 |
|---|---|---|
| 데이터 확인 | head(), info(), describe() | 데이터 개요 및 요약 보기 |
| 결측치 처리 | isnull(), dropna(), fillna() | 결측값 탐지 및 처리 |
| 데이터 정렬 | sort_values() | 열 기준 정렬 |
| 열 이름 변경 | rename() | 열/행 이름 바꾸기 |
| 그룹화 | groupby() | 집계 및 분할 처리 |
8. 실전 예제: 지역별 인구 평균 계산
data = {
'도시': ['서울', '부산', '서울', '부산'],
'인구': [950, 340, 1100, 420]
}
df = pd.DataFrame(data)
avg = df.groupby('도시')['인구'].mean()
print(avg)
위 코드를 통해 도시별 평균 인구를 빠르게 구할 수 있습니다.
9. 시각화를 위한 연동
Pandas는 Matplotlib, Seaborn과 함께 사용하면 시각화까지 한 번에 처리할 수 있습니다.
import matplotlib.pyplot as plt
df['나이'].plot(kind='hist')
plt.title("나이 분포")
plt.show()
10. 결론
Pandas는 파이썬 기반 데이터 분석에 있어 가장 핵심적인 라이브러리입니다. 다양한 형태의 데이터를 불러오고, 조작하며, 통계 및 시각화까지 하나의 도구로 가능하게 해 줍니다. 초보자는 DataFrame과 Series 구조를 철저히 익히고, 실무에서는 그룹화, 조건 필터, 결측치 처리 등을 활용해보세요.
참고 자료
- Pandas 공식 문서: https://pandas.pydata.org/docs/
- Real Python - Pandas Tutorial: Real Python
- Python for Data Analysis by Wes McKinney
'Artificial Intelligence > 60. Python' 카테고리의 다른 글
| [PYTHON] Django 완벽 가이드 : 파이썬 웹 개발의 정석 (0) | 2025.07.20 |
|---|---|
| [PYTHON] Matplotlib 완벽 가이드 : 파이썬 시각화의 시작과 끝 (0) | 2025.07.20 |
| [PYTHON] Numpy 완벽 가이드 : 배열부터 고속 연산까지 (0) | 2025.07.20 |
| [PYTHON] 파이썬 환경설정 완벽 가이드 : 개발을 위한 최적 세팅 (0) | 2025.07.20 |
| [PYTHON] 파이썬 설치 가이드 : 최신 설치 법 완벽 정리 (0) | 2025.07.20 |