판다스(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로 지정하면 인덱스 번호는 저장하지 않는다.


오늘을 마치며

처음엔 낯설고 어렵게 느껴지지만,
판다스를 익히면 복잡한 데이터도 한눈에 파악하고
깔끔하게 관리할 수 있게 된다.

반복되는 작업도, 복잡한 분석도
코드 한 줄이면 술술 해결되는 그 시원함!🍻
나도 곧 그걸 경험해보고 싶다.

오늘의 공부는, 내일의 실무가 된다.

이 한 걸음이,
데이터 분석가라는 목표에 더 가까이 다가간 순간이었기를✨