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

NumPy配列

AI・機械学習

NPYはNumPyの配列を保存するバイナリ形式です。配列の形状とデータ型を保ちますが、値が何を表すか、単位や前処理は別の説明が必要です。画像にも数値表にも使えるため、NPYだから画像と決めつけずに確認します。

主な用途
1個の配列と型・形状の保存
中身の種類
バイナリデータ
目次・よくある質問・根拠資料を見る

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

開き方・操作手順

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

Python:配列の情報を確認

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

  1. 原本をコピーし、保存元の説明から配列の軸・単位・必要なNumPy環境を確認します。
  2. numpy.loadではallow_pickle=Falseを保持して読み込みます。
  3. shape・dtype・配列の大きさを確認し、想定する次元と照合します。
大きな配列:必要範囲を確認

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

  1. 対応する数値配列ならmmap_modeによるメモリーマップの利用を検討します。
  2. 先頭数件など必要なスライスだけを読み、欠損や異常値を確認します。
  3. 型を維持したまま処理し、変更する場合は別ファイルへ保存します。
CSV等へ渡す場合

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

  1. 配列の次元と列の意味を調べ、表にする範囲を決めます。
  2. 必要なら軸・型を明示して書き出し、単位や列名を別に記録します。
  3. 再読込してshape、行順、整数精度、欠損値を比較します。

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

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

  • オブジェクト配列で拒否される:pickleを必要とするデータか確認し、未知のファイルでallow_pickleを有効にしません。
  • 表示が画像にならない:次元、チャンネル、値の範囲、用途の説明を確認します。
  • メモリーが足りない:形状と型から必要量を確認し、対応するデータではメモリーマップ等を検討します。
  • 文字として読めない:NPYはバイナリです。NumPyのshape・dtypeから内容を確認します。
  • object配列として拒否される:任意オブジェクトの復元が必要なデータか確認し、未知のファイルでallow_pickleを有効にしません。
  • 数値の意味が違う:軸順や単位はshapeだけでは分かりません。元の説明と照合します。

数値NPY → CSV / 表示用画像

  1. 数値の型と形状を確認し、表へ出すなら列・次元の対応を記録します。
  2. 画像化する場合は用途に合う値域・チャンネルの解釈で出力し、元配列を残します。
  3. 変換前後で要素数、行順、型、欠損値、代表値を比較し、元の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 · リンク確認: