Pandas DataFrame

Summary

Python의 가장 널리 사용되는 데이터 조작 라이브러리. 2D 테이블 형태의 데이터를 직관적으로 다루는 인터페이스 제공.

Python의 가장 널리 사용되는 데이터 조작 라이브러리. 2D 테이블 형태의 데이터를 직관적으로 다루는 인터페이스 제공.

개요

Pandas는 NumPy 위에 구축된 고수준 데이터 분석 라이브러리로, DataFrame이라는 핵심 자료구조를 제공한다. CSV/Excel/SQL 데이터를 로드하여 결측치 처리, 중복 제거, 변환 작업을 효율적으로 수행할 수 있다.

핵심 특징:

  • DataFrame: 행×열 테이블 형태, 자동 인덱싱
  • Series: 1D 배열 (컬럼 개별 조작)
  • 자료형 추론: CSV 로드 시 자동 타입 감지
  • 벡터화 연산: 반복문 불필요 (NumPy 기반 빠른 계산)

주요 메서드

데이터 검사:

  • df.shape: (행 수, 열 수) 반환
  • df.info(): 컬럼명, 자료형, 결측치 개수
  • df.describe(): 통계 요약 (평균, 표준편차, 사분위수)
  • df.head(), df.tail(): 처음/끝 N행 확인

데이터 정제:

  • df.isnull().sum(): 컬럼별 결측치 개수
  • df.dropna(): 결측치 행 제거
  • df.fillna(value): 결측치를 특정 값으로 채우기
  • df.duplicated().sum(): 중복 행 개수
  • df.drop_duplicates(): 중복 행 제거

데이터 변환:

  • df[col]: 컬럼 선택 (Series 반환)
  • df: 여러 컬럼 선택 (DataFrame 반환)
  • df.rename(): 컬럼명 변경
  • df.astype(): 자료형 변환 (int → float 등)

통계 연산:

  • df.corr(): 피어슨 상관계수 행렬
  • df.groupby(): 카테고리별 그룹화 후 집계

활용 사례

EDA (탐색적 데이터분석):

  • 11,914행 자동차 데이터 → 결측치(99) + 중복(989) + 이상치(1,600) 정제 → 9,191행
  • 프로세스: df.info()isnull()duplicated() → IQR 계산 → drop() → 시각화

ML 파이프라인:

  • 혼합 자료형 데이터(수치형 + 범주형) 분리
  • Scikit-learn ColumnTransformer와 함께 사용: 수치형 → 스케일링, 범주형 → 원-핫 인코딩

관련 개념

관련 엔티티

  • matplotlib-seaborn — 데이터 시각화 (히스토그램, 히트맵 등)
  • numpy — 하위 수치 연산 라이브러리

소스