2016-08-10 3 views
1

これは確かに広範なトピックです。私は、Pandasの新人として、通常のコンピュータでは読み込めないデータを扱うためのさまざまな選択肢について、記述しコメントすることができるStackoverflowの記事を持っていると便利です(16Gb RAMの)。私は現在、約50Gbを簡単に処理する方法を学んでいます。大きなデータ用のPythonの代替手段

これまでのところ、私はchrisbとNoobieが潜在的な代替案としてDaskを挙げてきました。理想的には、私はPandasで通常と同じような操作をしたいと思います。

私はフォーラムを読んで、cvsファイルをより管理しやすい1Gbファイルに分割するいくつかの方法を見つけました。これらのファイルは、read_csvを使用して個別にロードして処理できます。たとえば、この質問How can I split a large file csv file (7GB) in Pythonは、大きなcvsファイルを分割する方法を示しています。

1)しかし、groupbyのような典型的なパンダの機能を、いくつかの別々のcsvファイルですべてメモリに読み込まずに効率的に動作させるにはどうすればよいでしょうか?

2)大規模なデータセットに対処する他のPythonライブラリについて触れました。たとえば、このコミュニティの一部の投稿は、大規模なデータ処理の代替手段としてHDF5とBlazerを参照しています。それは私がしたいことにどのように適合しますか?一般的なパンダの操作を実行するためにこれらのライブラリや他のライブラリを使用する例は何でしょうか?

3)この大きなデータを処理するには、どのような推奨経路が必要でしょうか?この 大きなデータを扱うために従うように推奨パスされるもの)

ありがとうございました、私はあなたの助けに感謝し、

答えて

3

3?

回答:合計RAM容量がデータセットよりも大きくなるようにRAMを追加購入してください。

パンダは、RAM内の計算用に設計されています。残念ながら、あなたが持っている小さなRAMに比べてデータのサイズが大きい場合、必要以上に苦労することになります。あなたがより多くのRAMを買う余裕がないなら、ここでパンダを忘れてください。

その他のオプションは、Hadoop、Amazon EC2、DaskまたはGoogleクラウドコンピューティングです。

+1

データの構造によっては、分析が「dask」の場合、あまり苦痛を伴うことなく、単一の8GBマシンでこれを処理できます。 – chrisb

+0

はい。ドキュメントをチェックしてください。 daskは分散マシン・コンピューティングを使用することもできます。 –

+0

ありがとう、私はあなたの返信をありがとう。パンダからdaskへの移行はどのように行われますか? – dleal