BioPlayground

🧬
목록으로

pandas란 — Series와 DataFrame

pandas의 핵심 자료구조인 Series와 DataFrame을 이해하고, 데이터를 불러오고 조작하는 기초를 배웁니다.

입문
|
7
|
검증 완료 (2026-07)
진행률0/6 (0%)

pandas란 — Series와 DataFrame

이 토픽을 마치면

pandas의 Series와 DataFrame이 무엇인지 설명할 수 있고, CSV 파일을 불러와서 기본적인 조작을 할 수 있습니다.


pandas가 뭔가

pandas는 Python에서 표 형태의 데이터를 다루는 라이브러리입니다. Excel의 스프레드시트를 코드로 다룬다고 생각하면 됩니다.

python
import pandas as pd
# CSV 파일 읽기 — 이 한 줄이면 됩니다
df = pd.read_csv("students.csv")
print(df)
text
이름   나이  점수
0  김훈    25    85
1  이수    23    92
2  박진    27    78

pd는 pandas의 관례적 약어입니다. 데이터 분석 코드에서는 거의 항상 이렇게 씁니다.


Series — 한 줄짜리 데이터

Series는 인덱스가 붙은 1차원 배열입니다. DataFrame의 한 열(column)이 Series입니다.

python
import pandas as pd
# Series 만들기
scores = pd.Series([85, 92, 78], index=["김훈", "이수", "박진"])
print(scores)
text
김훈    85
이수    92
박진    78
dtype: int64
python
# 인덱스로 접근
print(scores["이수"]) # 92
# 조건 필터
print(scores[scores >= 80])
# 김훈 85
# 이수 92
# 연산
print(scores.mean()) # 85.0
print(scores.max()) # 92

리스트와 비슷하지만, 이름으로 접근할 수 있고, 통계 메서드가 내장되어 있습니다.


DataFrame — 표 전체

DataFrame은 여러 Series가 모인 2차원 표입니다. 행(row)과 열(column)이 있습니다.

python
import pandas as pd
# 딕셔너리로 만들기
data = {
"이름": ["김훈", "이수", "박진"],
"나이": [25, 23, 27],
"점수": [85, 92, 78]
}
df = pd.DataFrame(data)
print(df)
text
이름  나이  점수
0  김훈   25    85
1  이수   23    92
2  박진   27    78

기본 조작

python
# 열 선택
print(df["이름"]) # Series 반환
print(df[["이름", "점수"]]) # DataFrame 반환
# 행 선택
print(df.loc[0]) # 0번 행 (이름으로)
print(df.iloc[0]) # 0번 행 (위치로)
# 조건 필터
high = df[df["점수"] >= 80]
print(high)
# 이름 나이 점수
# 0 김훈 25 85
# 1 이수 23 92
# 기본 통계
print(df.describe())
# 나이와 점수의 평균, 표준편차, 최소/최대 등

자주 쓰는 메서드

python
df.head(3) # 처음 3행
df.tail(3) # 마지막 3행
df.shape # (행 수, 열 수) — 예: (3, 3)
df.columns # 열 이름 목록
df.dtypes # 각 열의 데이터 타입
df.info() # 요약 정보 (결측치 포함)
df.sort_values("점수", ascending=False) # 점수 내림차순 정렬

열 추가와 삭제

python
# 새 열 추가
df["합격"] = df["점수"] >= 80
print(df)
# 이름 나이 점수 합격
# 0 김훈 25 85 True
# 1 이수 23 92 True
# 2 박진 27 78 False
# 열 삭제
df = df.drop("합격", axis=1)
# axis=0은 행, axis=1은 열

왜 pandas인가

작업순수 Pythonpandas
CSV 읽기10줄+ (open, split, 반복)pd.read_csv() 1줄
평균 구하기sum()/len() 직접 계산df.mean()
조건 필터for + ifdf[df["열"] > 값]
정렬sorted() + keydf.sort_values()

코드량이 줄어들 뿐 아니라, pandas는 내부적으로 C/Cython으로 최적화되어 순수 Python보다 10~100배 빠릅니다.