2016-07-01 4 views
1

それぞれの.npyファイルのすべてのパス名を持つファイルがあります。私は約500万のファイルを持っていますので、不要なforsを避けたいと思います。私がする必要がどのようなnp.loadをパスファイル

このように私のデータ変数にそれらすべてをロードするようにされています

データ= np.load(input_file_w_pathnames)

私は、これは動作しません知っている誰かが知っている場合、私は思っていました似たようなやり方をする巧妙なやり方、あるいはこれを効率的にやり遂げる方法です。

+0

すべての.csvファイルを開き、それらを 'データ 'に保存できる場合は、 – Deusdeorum

答えて

1

は、ファイル名またはファイルオブジェクト(開いたファイル)をとります。標準のPythonファイル読み取りツールを使用します。複数の名前やファイルは必要としません。

np.stack([np.load(f) for f in ['x.npy','x.npy','x.npy']]) 

は、各ファイルの配列をより大きな配列に結合できますが、それでもファイル読み込みによってファイルを実行しています。

numpyコンパイルされたコードでタスクを実行することによって '効率'が達成されることを覚えておいてください。コンパイルのために速くなります。そしてこの作業は、特別なコードを保証するのに十分頻繁に出てこない。

ファイル名をリストに読み込むことが簡単にできると思います。

+0

のヒントをお願いします。これは最高の回避策のようです。 – badner

関連する問題