2017-06-14 10 views
0

私は大.CSV(3.4メートルの列、206kユーザーが)InstaCart https://www.instacart.com/datasets/grocery-shopping-2017パンダのPythonに大規模なデータセットをロード

からソースデータセットを開くロードしたいと思います。基本的に、私はトラブルのロードorders.csvパンダDATAFRAMEにしています。大きなファイルをPandas/Pythonにロードするためのベストプラクティスを学びたいと思います。

答えて

2

ファイル全体をメモリにロードするのではなく、をチャンク内のデータを読み込むことをお勧めします。

幸いにも、read_csvメソッドはchunksize引数を受け入れます。

for chunk in pd.read_csv(file.csv, chunksize=somesize): 
    process(chunk) 

注:read_csvまたはread_tablechunksizeを指定することで、戻り値はタイプTextFileReaderiterable対象となる:

また参照:

0

大きなデータフレームがメモリに収まらない場合、daskは非常に便利です。私がリンクしているメインページには、pandasと同じAPIを持つが配布可能なdaskデータフレームを作成する方法の例があります。

0

マシンによっては、csvファイルを読み取っているときにデータタイプを指定することによって、メモリ内のすべてを読み取ることができます。 csvがpandasによって読み取られるとき、使用されるデフォルトのデータ型は、最良のものではないかもしれません。 dtypeを使用すると、データ型を指定できます。メモリに読み込まれるデータフレームのサイズが小さくなります。

関連する問題