[解決済み] ディスク上のnumpy配列を保存する最良の方法
2022-04-27 02:53:13
質問
私は大きなnumpy配列を保存する高速な方法を探しています。私はそれらをバイナリ形式でディスクに保存し、それらを比較的高速にメモリに読み戻すことを望んでいます。
私が見つけたのは numpy.savez と numpy.load . しかし、奇妙なことに、numpy.loadはnpyファイルを"memory-map"にロードします。これは、通常の配列の操作が本当に遅くなることを意味します。例えば、以下のようなものは本当に遅いでしょう。
#!/usr/bin/python
import numpy as np;
import time;
from tempfile import TemporaryFile
n = 10000000;
a = np.arange(n)
b = np.arange(n) * 10
c = np.arange(n) * -0.5
file = TemporaryFile()
np.savez(file,a = a, b = b, c = c);
file.seek(0)
t = time.time()
z = np.load(file)
print "loading time = ", time.time() - t
t = time.time()
aa = z['a']
bb = z['b']
cc = z['c']
print "assigning time = ", time.time() - t;
より正確には、最初の行はとても速いのですが、配列を
obj
はとんでもなく遅いです。
loading time = 0.000220775604248
assining time = 2.72940087318
numpyの配列を保存する良い方法はないでしょうか?理想的には、1つのファイルに複数の配列を保存できるようにしたいです。
どのように解決するのですか?
私は、大きなnumpyの配列を保存するためにhdf5を愛用しています。pythonでhdf5を扱うには2つのオプションがあります。
どちらもnumpyの配列を効率的に扱うように設計されています。
関連
-
FacebookオープンソースワンストップサービスpythonのタイミングツールKats詳細
-
[解決済み】ImportError: PILという名前のモジュールがない
-
[解決済み] AndroidでPythonを実行する方法はありますか?
-
[解決済み] 複数行の長い文字列を作成するためのPythonicな方法
-
[解決済み] Pythonで型をチェックする標準的な方法は何ですか?
-
[解決済み] 最近のPythonでカスタム例外を宣言する適切な方法?
-
[解決済み] Python 3で文字列をバイトに変換する最良の方法?
-
[解決済み] NumPyでユークリッド距離はどのように計算できますか?
-
[解決済み] NumPy の配列を csv ファイルにダンプする
-
[解決済み】NumPyで配列を列でソートする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ピロウズ画像色処理の具体的な活用方法
-
Python関数の高度な応用を解説
-
Pythonショートビデオクローラーチュートリアル
-
Python 入出力と高次代入の基礎知識
-
[解決済み】「RuntimeError: dictionary changed size during iteration」エラーを回避する方法とは?
-
[解決済み】csv.Error:イテレータはバイトではなく文字列を返すべき
-
[解決済み】インポートエラー。モジュール名 urllib2 がない
-
[解決済み】ValueError: pickleプロトコルがサポートされていません。3、python2 pickleはpython3 pickleでダンプしたファイルを読み込むことができない?
-
[解決済み】Flaskのテンプレートが見つからない【重複あり
-
[解決済み】ValueError: xとyは同じサイズでなければならない