[Python] numpy ファイルの読み取りと書き込み

公式ウェブサイト

https://numpy.org/doc/stable/reference/routines.io.html
ここに画像の説明を挿入
ここに画像の説明を挿入

テキストファイル

テキストファイルを読む

説明する

  1. np.loadtxt()
  • ファイル形式: プレーン テキスト ファイル。データの各行は異なるデータ型にすることができます。
  • パラメータ設定: 共通パラメータには、区切り文字delimiterの指定、dtypeデータ型の指定、skiprowsスキップされる行数の指定などが含まれます。
  • 適用可能なシナリオ: 実験データのセットなど、単純なプレーン テキスト データの読み取りに適しています。
  1. np.genfromtxt()
  • ファイル形式: プレーンテキストファイル。欠落データや不規則なデータを処理できます。
  • パラメータ設定: 共通パラメータには、区切り文字delimiterの指定、dtypeデータ型の指定、skip_headerスキップされるヘッダー行の数の指定、missing_values欠損値の指定などが含まれます。
  • 適用可能なシナリオ: 欠損値や空白行を含むデータなど、不規則なプレーン テキスト データの読み取りに適しています。
  1. np.recfromtxt()
  • ファイル形式: プレーンテキストファイル。欠落データや不規則なデータを処理できます。
  • パラメータ設定: 共通パラメータnp.genfromtxt()は に似ています。
  • 適用可能なシナリオ: 実験データ テーブルなど、列名を持つ構造化データの読み取りに適しています。
  1. np.recfromcsv()
  • ファイル形式: CSV ファイル。通常、データの各行は同じデータ型です。
  • パラメータ設定: 共通パラメータとdelimiter指定された区切り文字、dtype指定されたデータ型、skip_header指定されたスキップされるヘッダ行数など。
  • 適用可能なシナリオ: 実験データ テーブルなど、列名を含む CSV データの読み取りに適しています。

違い

  • np.loadtxt(): テキスト ファイルからデータを読み取り、NumPy 配列として保存するために使用されます。デフォルトでは、この関数はデータがスペースで区切られた数値であり、ヘッダー行がないことを前提としています。さらに、データ型を指定したり、特定の行や列をスキップしたり、その他のオプションを指定したりできます。
  • np.genfromtxt(): にloadtxt()似ていますが、より柔軟です。欠損値、異なる区切り文字、異なるデータ型、および異なるテキスト ファイル形式 (CSV、TSV など) を処理できます。さらに、ヘッダー行とコメント行を含むデータ ファイルを処理できます。
  • np.recfromtxt():genfromtxt()に似ていますが、各列が異なるデータ型を持つことができ、各列がヘッダーによって識別できる構造化配列を作成します。
  • np.recfromcsv():recfromtxt()に似ていますが、CSV ファイル形式のみを処理し、デフォルトでは区切り文字としてカンマを使用します。

テキストファイルに書き込む

np.savetxt()

  • ファイル形式: プレーン テキスト ファイル。データの各行は異なるデータ型にすることができます。
  • パラメータ設定: 共通パラメータには、区切り文字delimiterの指定、fmt出力形式の指定などが含まれます。
  • 適用可能なシナリオ: 一連の実験データをプレーン テキスト ファイルに保存するのに適しています。

バイナリーファイル

バイナリファイルを読み取る

説明する

  1. np.load()
  • ファイル形式: NumPy バイナリ。
  • パラメータ設定: 共通パラメータには、pickle オブジェクトのロードを許可するかどうかのallow_pickle指定、mmap_modeメモリ マッピング モードの指定などが含まれます。
  • 適用可能なシナリオ: NumPy 配列を保存するバイナリ ファイルのロードに適しています。
  1. np.fromfile()
  • ファイル形式: 任意のバイナリ ファイル。
  • パラメータ設定: 共通パラメータには、データ型のdtype指定、count読み取る要素数の指定などが含まれます。
  • 適用可能なシナリオ: 画像データなどの大きなバイナリ ファイルの読み取りに適しています。

違い

  • np.load(): NumPy 固有のバイナリ (.npy、.npz) からデータをロードするために使用されます。これらのファイルはnp.save()np.savez()または 関数によって作成され、NumPy 配列をメタデータ (データ型、形状など) とともにディスクに保存できます。np.load()関数はこれらのファイルを簡単に読み取り、生の NumPy 配列に復元できます。
  • np.fromfile(): バイナリ ファイルからデータをロードし、NumPy 配列として保存するために使用されます。この関数は、ファイル内のデータが連続していて、指定されたデータ型に従ってエンコードされていることを前提としています。したがって、読み取ったデータを NumPy 配列として正しく解釈するには、データ型と配列の形状を指定する必要があります。

要約すると、np.load()と の両方np.fromfile()をファイルからデータをロードするために使用できますが、np.load()特に NumPy バイナリ ファイルをロードする場合に使用され、バイナリ ファイルをロードするnp.fromfile()場合はデータ型と形式を手動で指定する必要があります。

NumPyバイナリファイルを書き込む

説明する

  1. np.save()
  • ファイル形式: NumPy バイナリ。
  • パラメータ設定: 共通パラメータには、pickle オブジェクトを許可するかどうかのallow_pickle指定、 fix_importsPython 2 と Python 3 の違いを修正するかどうかの指定などが含まれます。
  • 適用可能なシナリオ: NumPy 配列をバイナリ ファイルに保存するのに適しています。
  1. np.savez()
  • ファイル形式: 圧縮された NumPy バイナリ。
  • パラメータ設定: 共通パラメータにはallow_pickleなどが含まれますfix_imports**arrays
  • 適用可能なシナリオ: 複数の NumPy 配列を圧縮バイナリ ファイルに保存するのに適しています。
  1. np.savez_compressed()
  • ファイル形式: 圧縮された NumPy バイナリ。
  • パラメータ設定: 共通パラメータnp.savez()は に似ています。
  • 適用可能なシナリオ: ストレージ領域を節約するために、複数の NumPy 配列を高圧縮バイナリ ファイルに保存するのに適しています。

違い

  • np.save(): 単一の NumPy 配列をディスク上のバイナリ ファイル (.npy) に保存します。このファイルには配列の生データのみが含まれており、メタデータ (データ型、形状など) は含まれません。したがって、このファイルをロードするときは、データを正しく解釈するために、元の配列のメタデータを知っている必要があります。
  • np.savez(): 複数の NumPy 配列をディスク上の圧縮バイナリ ファイル (.npz) に保存します。このファイルには配列とそのメタデータが含まれています。このファイルは、辞書のように、インデックスによって各配列にアクセスできます。この関数の引数は一連の NumPy 配列であり、ファイルのロード時に参照できるように、それぞれに名前を割り当てる必要があります。
  • np.savez_compressed():np.savez()と似ていますが、より高い圧縮率で保存されるため、ファイル サイズが小さくなります。この関数は とnp.savez()同じ、結果のファイル名も .npz ファイル拡張子で終わります。

おすすめ

転載: blog.csdn.net/qq_25262697/article/details/129851236