🐼 pandas 문법 한 장 정리 (입문~중급)
1. pandas 기본 구조
| 문법 | 설명 |
|---|---|
import pandas as pd |
pandas 불러오기 |
df = pd.read_csv('file.csv') |
CSV 불러오기 |
df = pd.read_excel('file.xlsx') |
Excel 불러오기 |
df.head(n) / df.tail(n) |
상/하위 n개 행 출력 |
df.info() |
데이터 타입, 결측치 정보 |
df.describe() |
수치형 요약 통계 |
2. 데이터 선택
| 문법 | 설명 |
|---|---|
df['col'], df[['col1','col2']] |
열 선택 |
df.loc[행, 열] |
이름 기준 접근 |
df.iloc[행번호, 열번호] |
번호 기준 접근 |
df['col'].unique() |
고유값 확인 |
df['col'].value_counts() |
값 분포 확인 |
3. 조건 필터링
| 문법 | 설명 |
|---|---|
df[df['col'] > 10] |
조건 필터링 |
&, | |
여러 조건 결합 |
df[df['col'].isin([...])] |
여러 값 포함 여부 |
df.loc[조건, 'col'] = 값 |
조건 만족 시 값 변경 |
4. 정렬
| 문법 | 설명 |
|---|---|
df.sort_values(by='col') |
열 값 기준 정렬 |
df.sort_index() |
인덱스 기준 정렬 |
ascending=False |
내림차순 |
5. 열 추가/변환
| 문법 | 설명 |
|---|---|
df['new'] = 값 |
열 추가 |
df['col'].astype('int') |
타입 변환 |
df['col'].apply(lambda x: ...) |
값 변환 |
df['col1'] + df['col2'] |
열 간 연산 |
6. 결측치 처리
| 문법 | 설명 |
|---|---|
df.isnull(), df.notnull() |
결측 여부 |
df['col'].fillna(값) |
결측값 채우기 |
df.dropna() |
결측 행 제거 |
7. 통계 함수
| 문법 | 설명 |
|---|---|
df.count() |
결측 제외 개수 |
df.mean() / df.median() |
평균 / 중앙값 |
df.sum() / df.cumsum() |
합계 / 누적합 |
df.var() / df.std() |
분산 / 표준편차 |
df.min() / df.max() |
최솟값 / 최댓값 |
df['col'].quantile(0.25) |
분위수 (예: Q1) |
df.mode() |
최빈값 |
df.corr() |
상관계수 |
8. 그룹 분석
| 문법 | 설명 |
|---|---|
df.groupby('col').mean() |
그룹 평균 |
df.groupby([...]).agg(['mean','sum']) |
다중 그룹 통계 |
reset_index() |
인덱스 초기화 |
9. 피벗 & 병합
| 문법 | 설명 |
|---|---|
df.pivot_table(index=..., columns=..., values=..., aggfunc=...) |
피벗 테이블 |
pd.concat([df1, df2]) |
행 방향 연결 |
pd.concat([df1, df2], axis=1) |
열 방향 연결 |
pd.merge(df1, df2, on='key') |
공통 key 기준 병합 |
how='inner'/'left'/'right'/'outer' |
병합 방식 선택 |
10. 기타 자주 쓰는 문법
| 문법 | 설명 |
|---|---|
df.copy() |
DataFrame 복사 |
df.columns.tolist() |
열 이름 리스트로 반환 |
df['col'].map({old:new}) |
값 변환 매핑 |
pd.qcut(df['col'], 4) |
분위수 구간 나누기 |
pd.cut(df['col'], bins=[...]) |
범위 기반 구간 나누기 |

반응형