公式ウェブサイト
https://numpy.org/doc/stable/reference/routines.io.html
テキストファイル
テキストファイルを読む
説明する
np.loadtxt()
- ファイル形式: プレーン テキスト ファイル。データの各行は異なるデータ型にすることができます。
- パラメータ設定: 共通パラメータには、区切り文字
delimiter
の指定、dtype
データ型の指定、skiprows
スキップされる行数の指定などが含まれます。 - 適用可能なシナリオ: 実験データのセットなど、単純なプレーン テキスト データの読み取りに適しています。
np.genfromtxt()
- ファイル形式: プレーンテキストファイル。欠落データや不規則なデータを処理できます。
- パラメータ設定: 共通パラメータには、区切り文字
delimiter
の指定、dtype
データ型の指定、skip_header
スキップされるヘッダー行の数の指定、missing_values
欠損値の指定などが含まれます。 - 適用可能なシナリオ: 欠損値や空白行を含むデータなど、不規則なプレーン テキスト データの読み取りに適しています。
np.recfromtxt()
- ファイル形式: プレーンテキストファイル。欠落データや不規則なデータを処理できます。
- パラメータ設定: 共通パラメータ
np.genfromtxt()
は に似ています。 - 適用可能なシナリオ: 実験データ テーブルなど、列名を持つ構造化データの読み取りに適しています。
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
出力形式の指定などが含まれます。 - 適用可能なシナリオ: 一連の実験データをプレーン テキスト ファイルに保存するのに適しています。
バイナリーファイル
バイナリファイルを読み取る
説明する
np.load()
- ファイル形式: NumPy バイナリ。
- パラメータ設定: 共通パラメータには、pickle オブジェクトのロードを許可するかどうかの
allow_pickle
指定、mmap_mode
メモリ マッピング モードの指定などが含まれます。 - 適用可能なシナリオ: NumPy 配列を保存するバイナリ ファイルのロードに適しています。
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バイナリファイルを書き込む
説明する
np.save()
- ファイル形式: NumPy バイナリ。
- パラメータ設定: 共通パラメータには、pickle オブジェクトを許可するかどうかの
allow_pickle
指定、fix_imports
Python 2 と Python 3 の違いを修正するかどうかの指定などが含まれます。 - 適用可能なシナリオ: NumPy 配列をバイナリ ファイルに保存するのに適しています。
np.savez()
- ファイル形式: 圧縮された NumPy バイナリ。
- パラメータ設定: 共通パラメータには
allow_pickle
、などが含まれますfix_imports
。**arrays
- 適用可能なシナリオ: 複数の NumPy 配列を圧縮バイナリ ファイルに保存するのに適しています。
np.savez_compressed()
- ファイル形式: 圧縮された NumPy バイナリ。
- パラメータ設定: 共通パラメータ
np.savez()
は に似ています。 - 適用可能なシナリオ: ストレージ領域を節約するために、複数の NumPy 配列を高圧縮バイナリ ファイルに保存するのに適しています。
違い
np.save()
: 単一の NumPy 配列をディスク上のバイナリ ファイル (.npy) に保存します。このファイルには配列の生データのみが含まれており、メタデータ (データ型、形状など) は含まれません。したがって、このファイルをロードするときは、データを正しく解釈するために、元の配列のメタデータを知っている必要があります。np.savez()
: 複数の NumPy 配列をディスク上の圧縮バイナリ ファイル (.npz) に保存します。このファイルには配列とそのメタデータが含まれています。このファイルは、辞書のように、インデックスによって各配列にアクセスできます。この関数の引数は一連の NumPy 配列であり、ファイルのロード時に参照できるように、それぞれに名前を割り当てる必要があります。np.savez_compressed()
:np.savez()
と似ていますが、より高い圧縮率で保存されるため、ファイル サイズが小さくなります。この関数は とnp.savez()
同じ、結果のファイル名も .npz ファイル拡張子で終わります。