비교
NPZ와 HDF5: 배열 묶음과 부분 읽기
NPZ는 이름이 있는 NPY 배열을 ZIP으로 묶습니다. HDF5는 그룹, 데이터셋, 속성을 계층으로 관리합니다.
어떤 형식을 선택해야 할까요?
NumPy로 배열을 주고받을 때는 NPZ, 반복적인 부분 읽기나 계층 관리에는 HDF5를 고려하세요.
적합한 경우 NPZ
여러 NumPy 배열을 하나의 ZIP 아카이브로 묶기 · NumPy 기반 과학 계산 워크플로 간 이름 있는 배열 전달
- 여러 배열을 한 파일로 저장
- 필요에 따라 ZIP 멤버를 비압축 또는 압축으로 선택
적합한 경우 HDF5
대규모 과학·기술 데이터를 계층적으로 저장 · 다차원 배열과 관련 메타데이터를 하나의 컨테이너에 보관
- 그룹·데이터셋·속성으로 복잡한 데이터를 구성
- 부분 입출력이나 데이터셋별 압축이 필요한 과학 작업
기본 정보
| 항목 | NPZ | HDF5 |
|---|---|---|
| 확장자 | .npz | .h5, .hdf5 |
| MIME 유형 | application/zip | |
| 주요 용도 | 여러 NumPy 배열을 하나의 ZIP 아카이브로 묶기 · NumPy 기반 과학 계산 워크플로 간 이름 있는 배열 전달 | 대규모 과학·기술 데이터를 계층적으로 저장 · 다차원 배열과 관련 메타데이터를 하나의 컨테이너에 보관 |
| 여는 방법 | NumPy `load` 또는 NPZ 지원 도구로 열고 배열 이름을 확인한 뒤 필요한 배열을 읽습니다. 반환된 `NpzFile`은 사용 후 닫고, object 배열이 있을 수 있는 낯선 파일은 pickle 설정을 확인하세요. | HDF5 지원 시각화·분석 소프트웨어나 라이브러리로 열고 그룹 구조, 데이터셋의 형태와 유형, 속성, 필터를 확인합니다. 응용 프로그램별 규약이 있을 수 있으므로 생성자 문서도 확인하세요. |
| 내보내기 또는 변환 | 여러 배열을 `savez` 또는 `savez_compressed`로 저장합니다. 멤버의 비압축/DEFLATE 여부와 배열 이름, dtype, shape를 수신 도구와 확인하고 변환 후 값도 비교하세요. | CSV, Parquet, FITS 등으로 변환하기 전에 계층, 배열 차원과 유형, 속성, 단위, 좌표를 어떻게 옮길지 정합니다. 대상 형식이 일부 구조나 메타데이터를 표현하지 못할 수 있으므로 원본을 보관하고 비교하세요. |
용도별 선택
여러 배열을 한 파일로 저장
여러 NumPy 배열을 하나의 ZIP 아카이브로 묶기 · NumPy 기반 과학 계산 워크플로 간 이름 있는 배열 전달
NPZ필요에 따라 ZIP 멤버를 비압축 또는 압축으로 선택
여러 NumPy 배열을 하나의 ZIP 아카이브로 묶기 · NumPy 기반 과학 계산 워크플로 간 이름 있는 배열 전달
NPZ그룹·데이터셋·속성으로 복잡한 데이터를 구성
대규모 과학·기술 데이터를 계층적으로 저장 · 다차원 배열과 관련 메타데이터를 하나의 컨테이너에 보관
HDF5부분 입출력이나 데이터셋별 압축이 필요한 과학 작업
대규모 과학·기술 데이터를 계층적으로 저장 · 다차원 배열과 관련 메타데이터를 하나의 컨테이너에 보관
HDF5핵심 사항 1
NPZ는 배열별 아카이브 멤버를 이름으로 선택합니다.
차이 자세히 보기핵심 사항 2
HDF5는 데이터셋 내부의 영역을 선택해 읽을 수 있습니다.
차이 자세히 보기차이 자세히 보기
NPZ는 필요할 때 멤버를 로드하지만, 일반적인 numpy.load가 압축된 멤버 내부의 임의 구간만 직접 읽는 것은 아닙니다. HDF5도 항상 빠르지는 않으므로 실제 선택 영역과 청크 형태로 측정하세요.
- savez는 압축하지 않고 savez_compressed는 DEFLATE를 사용합니다. HDF5 압축은 선택 사항입니다. 청크 데이터셋에서는 요소 하나를 요청해도 해당 청크 전체가 처리에 관여합니다.
- HDF5 속성에 단위를 기록할 수 있지만 의미는 합의해야 합니다. 이전 시 이름, dtype, shape, 축 순서, 값과 필요한 필터를 확인하세요. 신뢰할 수 없는 NPZ의 object 배열에 pickle을 허용하지 마세요.
자주 묻는 질문
NPZ를 HDF5로 변환하면 의미도 자동으로 보존되나요?
보장되지 않습니다. 배열과 그룹의 대응, 단위와 결측값 규칙을 정하고 변환된 값을 확인하세요.