Format Atlas

비교

NPY vs NPZ

NPY는 배열 하나와 dtype·shape를 저장합니다. NPZ는 NPY 멤버를 ZIP으로 묶고 배열 이름으로 접근합니다.

어떤 형식을 선택해야 할까요?

단일 배열이나 수치 데이터의 메모리 매핑에는 NPY, 여러 배열을 함께 전달할 때는 NPZ를 선택합니다.

적합한 경우 NPY

NumPy 배열 하나를 형식과 모양을 포함해 바이너리로 저장 · NumPy 기반 과학 및 머신러닝 워크플로에 배열 전달

  • 텍스트로 변환하지 않고 dtype과 다차원 shape 유지
  • 지원되는 비객체 배열에 메모리 매핑 사용

적합한 경우 NPZ

여러 NumPy 배열을 하나의 ZIP 아카이브로 묶기 · NumPy 기반 과학 계산 워크플로 간 이름 있는 배열 전달

  • 여러 배열을 한 파일로 저장
  • 필요에 따라 ZIP 멤버를 비압축 또는 압축으로 선택

기본 정보

항목NPYNPZ
확장자.npy.npz
MIME 유형application/octet-streamapplication/zip
주요 용도NumPy 배열 하나를 형식과 모양을 포함해 바이너리로 저장 · NumPy 기반 과학 및 머신러닝 워크플로에 배열 전달여러 NumPy 배열을 하나의 ZIP 아카이브로 묶기 · NumPy 기반 과학 계산 워크플로 간 이름 있는 배열 전달
여는 방법NumPy `load` 또는 NPY 지원 도구로 열고 dtype, shape, 형식 버전을 확인합니다. 대형 배열은 메모리 매핑이 데이터 배치와 용도에 맞는지 확인하세요.NumPy `load` 또는 NPZ 지원 도구로 열고 배열 이름을 확인한 뒤 필요한 배열을 읽습니다. 반환된 `NpzFile`은 사용 후 닫고, object 배열이 있을 수 있는 낯선 파일은 pickle 설정을 확인하세요.
내보내기 또는 변환NumPy `save`로 저장합니다. 텍스트에서 변환할 때 숫자 형식, byte order, shape, 결측값 처리를 비교하세요. object dtype 배열이 있다면 pickle 필요성을 확인하고 신뢰할 수 없는 파일에서 무심코 허용하지 마세요.여러 배열을 `savez` 또는 `savez_compressed`로 저장합니다. 멤버의 비압축/DEFLATE 여부와 배열 이름, dtype, shape를 수신 도구와 확인하고 변환 후 값도 비교하세요.

용도별 선택

텍스트로 변환하지 않고 dtype과 다차원 shape 유지

NumPy 배열 하나를 형식과 모양을 포함해 바이너리로 저장 · NumPy 기반 과학 및 머신러닝 워크플로에 배열 전달

NPY

지원되는 비객체 배열에 메모리 매핑 사용

NumPy 배열 하나를 형식과 모양을 포함해 바이너리로 저장 · NumPy 기반 과학 및 머신러닝 워크플로에 배열 전달

NPY

여러 배열을 한 파일로 저장

여러 NumPy 배열을 하나의 ZIP 아카이브로 묶기 · NumPy 기반 과학 계산 워크플로 간 이름 있는 배열 전달

NPZ

필요에 따라 ZIP 멤버를 비압축 또는 압축으로 선택

여러 NumPy 배열을 하나의 ZIP 아카이브로 묶기 · NumPy 기반 과학 계산 워크플로 간 이름 있는 배열 전달

NPZ

핵심 사항 1

NPY의 기본 저장 단위는 배열 하나입니다.

차이 자세히 보기

핵심 사항 2

NPZ는 배열별 NPY 멤버의 아카이브입니다.

차이 자세히 보기

차이 자세히 보기

배열 수뿐 아니라 접근 방식과 압축 비용을 고려합니다. 신뢰할 수 없는 object 입력에 pickle을 허용하지 마세요.

  • savez는 비압축 아카이브를 쓰고 savez_compressed는 DEFLATE를 사용합니다. NPZ 확장자로 압축 여부를 알 수 없습니다.
  • 수치 NPY는 메모리 매핑이 가능하지만 object 배열은 불가능합니다. 일반 numpy.load가 NPZ 멤버를 같은 방식으로 매핑한다고 가정하지 마세요.

자주 묻는 질문

NPZ는 항상 NPY보다 작나요?

아니요. 내용, 압축 설정, ZIP 오버헤드에 따라 달라집니다. 실제 데이터로 크기와 로딩 시간을 측정하세요.

자세히 보기

참고 자료 및 사양