NumPy配列アーカイブ
AI・機械学習NPZは複数のNPY配列をまとめるNumPyの保存形式です。配列名ごとに形状や型が違う場合があり、1個の大きな表として扱えるとは限りません。読み込んだら配列名と各配列の仕様を確認し、データの意味を配布元の説明と照合します。
- 主な用途
- 複数の配列を名前付きでまとめる保存
- 中身の種類
- バイナリデータ
目次・よくある質問・根拠資料を見る
内容の最終確認: · 編集:Kai
開き方・操作手順
使っている環境や目的の項目を開いて、手順を確認してください。
操作名・対応状況はアプリ・OS・版によって異なります。変更する前に原本を残してください。
開けないとき:症状から確認
- 想定したキーがない:配列名の一覧を確認し、作成時の名前と照合します。
- 配列の大きさが違う:複数配列の役割と次元の対応を確認します。
- オブジェクト配列で失敗する:未知の配列のためにpickle許可を有効にしないでください。
- arr_0等で中身が分からない:保存時に名前を指定していない可能性があります。作成コードで対応を確認します。
- object配列として拒否される:任意オブジェクトの復元が必要なデータか確認し、未知のファイルでallow_pickleを有効にしません。
- メモリーマップで軽くならない:NPZは複数NPYのアーカイブです。必要な数値配列を個別NPYへ保存する方法を検討します。
NPZ → 個別NPY / CSV
- 対象の配列名、型、形状を記録し、必要な配列を選びます。
- NPY等へ個別保存し、CSVなら次元と列の対応を記録して値を比較します。
- 変換前後で要素数、行順、型、欠損値、代表値を比較し、元の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 · リンク確認: