데이터 과학 및 분석에서 가장 중요한 작업 중 하나는 데이터를 효과적으로 관리하고 가공하는 것입니다. Python의 Pandas 라이브러리는 데이터 조작 및 분석을 위한 강력한 도구를 제공하며, 대량의 데이터를 쉽게 처리하고 변환할 수 있도록 설계되었습니다.
Pandas를 활용하면 엑셀(Excel)과 유사한 방식으로 데이터프레임을 조작할 수 있으며, SQL과 유사한 필터링, 정렬, 그룹화 및 집계 연산도 손쉽게 수행할 수 있습니다.
이번 글에서는 Pandas의 핵심 개념, 데이터 조작, 결측치 처리, 그룹화 및 파일 입출력 등 실무에서 유용한 기능을 자세히 살펴보겠습니다.
1. Pandas란 무엇인가?
🔹 Pandas의 핵심 개념
Pandas는 Python의 데이터 분석을 위한 핵심 라이브러리로, 표 형태(테이블 형식)의 데이터를 쉽고 직관적으로 다룰 수 있도록 지원합니다. Pandas의 핵심 데이터 구조는 Series(일차원 데이터) 와 DataFrame(이차원 테이블 데이터) 입니다.
- Series: 리스트와 유사한 구조로, 인덱스를 갖는 1차원 데이터 구조.
- DataFrame: 엑셀 시트처럼 행과 열로 이루어진 2차원 테이블 형태의 데이터 구조.
✅ Pandas의 주요 기능
✔️ 엑셀과 같은 테이블 데이터 처리
✔️ 대량의 데이터 빠르게 조작
✔️ 데이터 필터링 및 정렬
✔️ 그룹화 및 집계 연산
✔️ 결측치 처리
✔️ 다양한 포맷(CSV, Excel, SQL 등)으로 데이터 입출력
2. Pandas 설치 및 기본 사용법
🔹 Pandas 설치
Pandas는 Python의 기본 라이브러리가 아니므로 먼저 설치해야 합니다.
pip install pandas
설치 후, Pandas를 불러올 수 있습니다.
import pandas as pd
3. Pandas 데이터 구조: Series & DataFrame
🔹 Series 생성 (1차원 데이터)
import pandas as pd
data = pd.Series([10, 20, 30, 40], index=['a', 'b', 'c', 'd'])
print(data)
✅ 결과
a 10
b 20
c 30
d 40
dtype: int64
Series는 인덱스를 지정할 수 있으며, 리스트처럼 개별 값에 접근 가능합니다.
🔹 DataFrame 생성 (2차원 데이터)
data = {
'이름': ['김철수', '이영희', '박민수'],
'나이': [25, 30, 22],
'도시': ['서울', '부산', '대구']
}
df = pd.DataFrame(data)
print(df)
✅ 결과
이름 나이 도시
0 김철수 25 서울
1 이영희 30 부산
2 박민수 22 대구
DataFrame은 엑셀의 표처럼 행과 열로 구성된 구조입니다.
4. 데이터 조작 및 필터링
🔹 특정 행 선택
print(df.loc[0]) # 인덱스 0번 행 선택
print(df[df['나이'] > 25]) # 나이가 25 이상인 행 선택
✅ 결과
이름 김철수
나이 25
도시 서울
Name: 0, dtype: object
이름 나이 도시
1 이영희 30 부산
🔹 열 추가 및 삭제
df['성별'] = ['남자', '여자', '남자'] # 새로운 열 추가
df.drop(columns=['도시'], inplace=True) # 특정 열 삭제
print(df)
✅ 결과
이름 나이 성별
0 김철수 25 남자
1 이영희 30 여자
2 박민수 22 남자
5. 데이터 그룹화 및 집계 연산
Pandas를 활용하면 데이터를 그룹화하여 평균, 합계 등의 통계를 계산할 수 있습니다.
🔹 성별별 평균 나이 계산
grouped = df.groupby('성별')['나이'].mean()
print(grouped)
✅ 결과
성별
남자 23.5
여자 30.0
Name: 나이, dtype: float64
6. 결측치 처리
데이터에는 종종 결측치(NaN, Null 값) 가 존재하며, 이를 적절히 처리해야 합니다.
🔹 결측치 확인 및 처리
df.loc[2, '나이'] = None # 결측치 추가
print(df.isnull().sum()) # 결측치 개수 확인
df.fillna(df['나이'].mean(), inplace=True) # 평균값으로 채우기
df.dropna(inplace=True) # 결측치가 있는 행 제거
print(df)
✅ 결과
이름 0
나이 1
성별 0
dtype: int64
7. 데이터 저장 및 불러오기
Pandas는 CSV, Excel, JSON, SQL 등 다양한 형식으로 데이터를 저장하고 불러올 수 있습니다.
🔹 CSV 파일 읽기 및 저장
# CSV 파일 읽기
df = pd.read_csv('data.csv')
# CSV 파일로 저장
df.to_csv('output.csv', index=False)
🔹 Excel 파일 읽기 및 저장
# 엑셀 파일 읽기
df = pd.read_excel('data.xlsx')
# 엑셀 파일 저장
df.to_excel('output.xlsx', index=False)
🔥 결론: Pandas를 활용한 데이터 분석
Pandas는 데이터 분석 및 과학적 연구에서 필수적인 라이브러리로, 엑셀과 같은 친숙한 인터페이스를 제공하면서도 강력한 데이터 처리 기능을 지원합니다.
🎯 핵심 정리
- Pandas는 데이터 조작 및 분석을 위한 필수 라이브러리
- Series(1차원)와 DataFrame(2차원) 구조를 기반으로 데이터 관리
- 데이터 필터링, 정렬, 그룹화, 집계 연산을 손쉽게 수행 가능
- 결측치 처리 및 다양한 파일 형식(CSV, Excel, JSON) 지원
Pandas를 활용하면 데이터 분석과 머신러닝을 위한 전처리 작업을 더욱 쉽게 수행할 수 있으며, 실제 프로젝트에서도 효율적으로 데이터를 다룰 수 있습니다! 🚀
'프로그래밍 > Python' 카테고리의 다른 글
테스트 및 디버깅: 단위 테스트(Unit Testing) 완벽 가이드 (0) | 2025.02.28 |
---|---|
데이터 과학을 위한 Matplotlib 완벽 가이드 (0) | 2025.02.28 |
데이터 과학 필수 라이브러리: NumPy 완벽 가이드 (0) | 2025.02.28 |
Python 웹 개발: Django 완벽 가이드 (0) | 2025.02.28 |
Python 웹 개발: Flask 완벽 가이드 (0) | 2025.02.28 |