판다스(Pandas)
표처럼 다루고, 코딩처럼 분석하자
Jun 16, 2025
엑셀로 데이터를 정리하다 보면
“이걸 자동으로 할 수는 없을까?”란 생각이 들 때가 있다.
수십 개의 시트, 복잡한 필터, 반복되는 계산…😵💫
시간은 시간대로 들고, 실수는 왜 이리 많은지.
그럴 때, 판다스는 마치 엑셀에 날개를 단 듯
코드 한 줄로 데이터를 자유자재로 다룰 수 있게 도와준다.
1. Pandas란?
• “Panel Data”에서 유래된 이름
• 엑셀처럼 생긴 데이터를 파이썬 코드로 처리할 수 있게 해주는 라이브러리
• 데이터 로딩, 정제, 분석, 저장까지 모두 지원
2. 핵심 구조
구조 | 설명 |
---|---|
Series | 1차원 데이터 (열 하나, 딕셔너리와 비슷) |
DataFrame | 2차원 데이터 (표 형태, 엑셀과 비슷) |
Series 다루기
3. 설치와 시작
pip install pandas
import pandas as pd
4. Series 다루기
# 리스트로 Series 만들기
pd.Series([1, 2, 3], index=['a', 'b', 'c'])
• 인덱스를 직접 지정할 수 있다.
• 딕셔너리로도 만들 수 있다.
5. DataFrame 만들기
# 딕셔너리로 만들기
data = {'이름': ['지희', '제훈'], '점수': [88, 92]}
df = pd.DataFrame(data)
• 2차원 리스트, 넘파이 배열, 여러 Series로도 생성 가능하다.
6. 데이터 미리 보기
df.head() # 앞 5행
df.tail(3) # 뒤 3행
df.info() # 구조 확인
df.describe() # 통계 요약
7. 인덱싱과 필터링
df.loc['A'] # 라벨 기반
df.iloc[0] # 위치 기반
df[df['age'] > 25] # 조건 필터링
8. 데이터 추가
df['new_col'] = [값1, 값2] # 열 추가
df.loc['새행'] = ['김지희', 99, 100] # 행 추가
9. 데이터 삭제
df.drop(['열이름'], axis=1) # 열 삭제
df.drop(['행이름'], axis=0) # 행 삭제
10. 데이터 타입 변환
df = df.astype({'age': int, 'score': float})
11. 날짜 인덱스 만들기
pd.date_range('2025-01-01', periods=7, freq='D')
12. 데이터 파일 불러오기
• cvs 파일 불러오기
df = pd.read_csv('파일경로/파일이름.csv')
# 한글이 깨질 때
df = pd.read_csv('파일경로/파일이름.csv', encoding='cp949')
encoding='utf-8'
또는encoding='cp949'
13. 데이터 파일 저장하기
• 작업한 데이터를 파일로 저장할 수도 있다.
df.to_csv('결과.csv', index=False) # CSV로 저장
df.to_excel('결과.xlsx', index=False) # 엑셀로 저장
index=False
로 지정하면 인덱스 번호는 저장하지 않는다.
오늘을 마치며
처음엔 낯설고 어렵게 느껴지지만,
판다스를 익히면 복잡한 데이터도 한눈에 파악하고
깔끔하게 관리할 수 있게 된다.
반복되는 작업도, 복잡한 분석도
코드 한 줄이면 술술 해결되는 그 시원함!🍻
나도 곧 그걸 경험해보고 싶다.
오늘의 공부는, 내일의 실무가 된다.
이 한 걸음이,
데이터 분석가라는 목표에 더 가까이 다가간 순간이었기를✨