NumPy配列
AI・機械学習NPYはNumPyの配列を保存するバイナリ形式です。配列の形状とデータ型を保ちますが、値が何を表すか、単位や前処理は別の説明が必要です。画像にも数値表にも使えるため、NPYだから画像と決めつけずに確認します。
- 主な用途
- 1個の配列と型・形状の保存
- 中身の種類
- バイナリデータ
目次・よくある質問・根拠資料を見る
内容の最終確認: · 編集:Kai
開き方・操作手順
使っている環境や目的の項目を開いて、手順を確認してください。
操作名・対応状況はアプリ・OS・版によって異なります。変更する前に原本を残してください。
開けないとき:症状から確認
- オブジェクト配列で拒否される:pickleを必要とするデータか確認し、未知のファイルでallow_pickleを有効にしません。
- 表示が画像にならない:次元、チャンネル、値の範囲、用途の説明を確認します。
- メモリーが足りない:形状と型から必要量を確認し、対応するデータではメモリーマップ等を検討します。
- 文字として読めない:NPYはバイナリです。NumPyのshape・dtypeから内容を確認します。
- object配列として拒否される:任意オブジェクトの復元が必要なデータか確認し、未知のファイルでallow_pickleを有効にしません。
- 数値の意味が違う:軸順や単位はshapeだけでは分かりません。元の説明と照合します。
数値NPY → CSV / 表示用画像
- 数値の型と形状を確認し、表へ出すなら列・次元の対応を記録します。
- 画像化する場合は用途に合う値域・チャンネルの解釈で出力し、元配列を残します。
- 変換前後で要素数、行順、型、欠損値、代表値を比較し、元のshapeと軸の意味を記録します。
CSVや画像では型、精度、多次元の構造を同じように保てない場合があります。色付き表示から元の値を完全復元できるとは限りません。
配列の型と軸を残す
NPYは配列の数値型と次元を保持します。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読み込みではコードが実行され得ます。未知のデータではallow_pickle=Falseを維持し、極端なサイズにも注意します。
よくある質問
NPYは画像ファイル?
画像用配列の場合もありますが、一般の数値等にも使います。
allow_pickleを有効にすればよい?
未知のファイルでは有効にせず、作成元を確認します。
単位も自動で分かる?
型と形状だけでは値の意味や単位は分かりません。
NPYに列名や単位は全部入る?
基本的な配列のshape・dtype等を保持しますが、用途上の単位や軸の意味は別に説明が必要な場合があります。
Excelへ渡すときに注意することは?
多次元配列、桁の多い整数、欠損値、日付などを表の仕様に合わせます。変換後の再読込で値を比較します。
形式の基本情報:正式名称・MIME type・管理団体
- 名称
- NumPy binary array format
- 管理・仕様
- 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 · リンク確認: