Python/기초

[Pandas] DataFrame 저장하기 (CSV / Parquet / Feather)

헬로희 2026. 7. 26. 12:27
728x90

보통 Excel에서 보기 위해서 Pandas 패키지를 이용하여 데이터 프레임을 to_csv로 저장한다.
하지만 그 양이 엄청 많고 Excel에서 보기 위함이 아니라 컴퓨터에서 읽고/쓰기의 목적이라면,
Parquet와 Feather가 용량이 더 적고 빠르다.


1. 성능 비교 

* 100만행 기준

  CSV Parquet Feather
저장 속도 느림 빠름 매우 빠름
로드 속도 느림 빠름 매우 빠름
파일 크기 매우 큼  중간(압축)
타입 보존 X O O
호환성 O X

✓  호환성 필요? → CSV
✓  속도 최우선? → Feather  
✓  대용량 + 효율성? → Parquet
✓  아무거나? → 균형 있게 Parquet


2. CSV (Comma-Sqparated Values)

# 저장
df.to_csv('file.csv', index=False)

# 로드
df = pd.read_csv('file.csv')

 

  • 장점: 호환성 최고, 모든 프로그램 지원, 사람이 읽을 수 있음
  • 단점: 느린 속도, 큰 파일 크기, 데이터 타입 손실 위험
  • 사용처: 데이터 공유, Excel 작업, 최종 리포트
  •  

 

3. Parquet

# 저장 (압축)
df.to_parquet('file.parquet', compression='snappy')

# 로드 (선택적 컬럼)
df = pd.read_parquet('file.parquet', columns=['name', 'salary'])

 

  • 장점: 빠른 속도, 우수한 압축, 데이터 타입 보존, 메타데이터 포함
  • 단점: 호환성 낮음 (Python/Spark 중심)
  • 사용처: 대용량 데이터 분석, 머신러닝, 장기 저장
  •  

 

4. Feather

# 저장
df.to_feather('file.feather')

# 로드
df = pd.read_feather('file.feather')

 

  • 장점: 가장 빠른 속도, 완벽한 타입 보존
  • 단점: 압축 없음 (파일 크기 큼), 호환성 낮음
  • 사용처: 빠른 임시 저장, Python/R 간 교환, 중간 결과 저장

 

728x90