ファイルを知る、使いこなす。
.npz

NumPy配列アーカイブ

AI・機械学習

NPZは複数のNPY配列をまとめるNumPyの保存形式です。配列名ごとに形状や型が違う場合があり、1個の大きな表として扱えるとは限りません。読み込んだら配列名と各配列の仕様を確認し、データの意味を配布元の説明と照合します。

主な用途
複数の配列を名前付きでまとめる保存
中身の種類
バイナリデータ
目次・よくある質問・根拠資料を見る

内容の最終確認: · 編集:Kai

開き方・操作手順

使っている環境や目的の項目を開いて、手順を確認してください。

Python:配列の情報を確認

dtypeとshapeを確認してから計算します。

  1. 原本をコピーし、保存元の説明から配列の軸・単位・必要なNumPy環境を確認します。
  2. numpy.loadではallow_pickle=Falseを保持し、まずfilesで配列名を確認します。
  3. 必要なキーの配列についてshape・dtypeを調べ、使用後はアーカイブを閉じます。
複数配列:対応関係を確認

全件表示する前に小さな範囲で確認します。

  1. キー名を一覧にし、画像・ラベル・ID等がどの配列か確認します。
  2. サンプル数と各軸を照合し、異なる配列の行順が対応しているか確認します。
  3. 必要な配列だけを取り出して処理し、閉じた後の再利用は再ロードします。
CSV等へ渡す場合

表にできる配列とできない配列を分けます。

  1. 渡す配列名を選び、shapeが表に合うか確認します。
  2. 必要なら軸・型を明示して書き出し、単位や列名を別に記録します。
  3. 再読込してshape、行順、整数精度、欠損値を比較します。

操作名・対応状況はアプリ・OS・版によって異なります。変更する前に原本を残してください。

開けないとき:症状から確認

  • 想定したキーがない:配列名の一覧を確認し、作成時の名前と照合します。
  • 配列の大きさが違う:複数配列の役割と次元の対応を確認します。
  • オブジェクト配列で失敗する:未知の配列のためにpickle許可を有効にしないでください。
  • arr_0等で中身が分からない:保存時に名前を指定していない可能性があります。作成コードで対応を確認します。
  • object配列として拒否される:任意オブジェクトの復元が必要なデータか確認し、未知のファイルでallow_pickleを有効にしません。
  • メモリーマップで軽くならない:NPZは複数NPYのアーカイブです。必要な数値配列を個別NPYへ保存する方法を検討します。

NPZ → 個別NPY / CSV

  1. 対象の配列名、型、形状を記録し、必要な配列を選びます。
  2. NPY等へ個別保存し、CSVなら次元と列の対応を記録して値を比較します。
  3. 変換前後で要素数、行順、型、欠損値、代表値を比較し、元のshapeと軸の意味を記録します。

CSV1個では配列ごとの名前や異なる形状を同じ構造で保持できません。ZIPへ改名しても、配列の意味を解釈する代わりにはなりません。

複数配列を一組で管理する

学習データとラベルなど、対応する配列は件数だけでなく並び順も重要です。キーとshape、行の対応を記録します。

ファイル容量から全体を表示しようとせず、サンプルで内容を確認します。値の型や範囲に合う処理を選びます。

この手順の根拠:NumPy Project · numpy.lib.format / NumPy Project · numpy.load / NumPy Project · Reading and writing files

CSVへ移す際に失う情報

CSVでは多次元構造やNumPyの型がそのまま維持されるとは限りません。平坦化した軸と元shapeを説明し、必要なら原本も渡します。

object型の配列は読み込み時にpickleが関係します。安全設定を保ち、作成者が数値配列等へ書き出せるか確認します。

この手順の根拠:NumPy Project · numpy.lib.format / NumPy Project · numpy.load / NumPy Project · Reading and writing files

関連形式との違い

関連形式との違い
形式主な役割確認する点
NPY一つの配列shape・dtypeと軸の意味
NPZ複数配列の保存キー名と配列の対応
CSV表データ交換型・階層情報を別に管理

取り扱いと安全性

圧縮後のサイズだけで必要メモリーを判断しません。未知のオブジェクト配列はpickleを許可せず、原本を残して必要部分だけ確認します。

よくある質問

必ず圧縮されている?

圧縮の有無は作成時の保存方法によります。

配列名は全部同じ?

作成時の指定により異なります。まず一覧を確認します。

CSV1個へそのまま変えられる?

配列ごとの形状と意味を確認し、必要な表の構成を決めます。

NPZは圧縮されたNPY一つ?

複数の配列を名前付きで格納できます。圧縮の有無は保存APIにもよります。

Excelへ渡すときに注意することは?

多次元配列、桁の多い整数、欠損値、日付などを表の仕様に合わせます。変換後の再読込で値を比較します。

形式の基本情報:正式名称・MIME type・管理団体
名称
NumPy array archive
管理・仕様
NumPy Project
MIME type
作成元・配信元の指定による。拡張子だけでMIME typeは確定できません。

公式・一次情報

  • プロジェクト公式numpy.lib.format

    NPYとNPZに保存される配列情報の仕様です。

    NumPy Project · リンク確認:
  • プロジェクト公式numpy.load

    allow_pickleとオブジェクト配列の安全性を説明しています。

    NumPy Project · リンク確認:
  • プロジェクト公式Reading and writing files

    配列の保存・読み込みとCSVとの違いの資料です。

    NumPy Project · リンク確認: