Python で分析する必要がある実験から出力された一連の大きなテキスト ファイル (最大 1 ギガ) があります。それらは、最初の質問を提示する 2D numpy 配列にロードするのが最適です。
- ローディングの開始時には行数が不明なため、非常に大きな numpy 配列を行ごとに最も効率的に構築するにはどうすればよいでしょうか?
2 つの大きな配列が一時的に共存するため、単に行を配列に追加するだけではメモリの観点から非効率的です。を使用すると、同じ問題が発生するようですnumpy.append
。関数は有望ですが、理想的には配列をそのstack
場で成長させたいと思います。
これは、2 番目の質問につながります。
- numpy 配列を多用する Python プログラムのメモリ使用量を観察する最良の方法は何ですか?
上記の問題を調査するために、通常のメモリ プロファイリング ツール (heapy と pympler) を使用しましたが、外側の配列オブジェクトのサイズ (80 バイト) しか得られず、含まれているデータは得られません。Python プロセスが使用しているメモリの量を大まかに測定する以外に、配列が大きくなるにつれて配列の「フル」サイズを取得するにはどうすればよいですか?
ローカルの詳細: OSX 10.6、Python 2.6、ただし一般的なソリューションは大歓迎です。