OK、pandas を使って、4,000 万行以上、150 列以上の 30GB の csv ファイルを HDFStore にロードする実験を行っています。列の大部分は文字列で、その後に数値と日付が続きます。
これまで numpy、pandas、または pytables を実際に使用したことはありませんが、R でデータ フレームをいじったことがあります。
現在、約 20000 行のサンプル ファイルを HDFStore に保存しています。HDFStore からテーブルを読み取ろうとすると、テーブルがメモリに読み込まれ、メモリ使用量が最大 100MB 増加します
f=HDFStore('myfile.h5')
g=f['df']
次に、DataFrame を含む変数を削除します。
del g
メモリ使用量が約5MB減少した時点で
を使用して g にデータを再度ロードするg=f['df']
と、メモリ使用量がさらに 100MB 増加します。
クリーンアップは、実際にウィンドウを閉じたときにのみ発生します。
データを編成する方法として、メモリに収まる最大テーブル サイズが約 1 GB の個々のテーブルにデータを分割し、一度に 1 つずつ使用するつもりです。ただし、メモリをクリアできない場合、このアプローチは機能しません。
どうすればこれを達成できるかについてのアイデアはありますか?