2017-06-26 10 views
0

pandas'to_csv機能を使用してcsvファイルを書きました。私はディスク上のこのファイルのサイズが13ギガバイトであることがわかります。このファイルをpandasdataframepd.read_csvを使って読みたいと思います。このファイルを読み込んでいる間、私はサーバーのメモリ使用量を監視します。このファイルの読み込みに消費されるメモリは30GB +で、ファイルは決して読み込まれないことがわかります。私のjupyter notebookのカーネルが消滅し、もう一度プロセスを開始しなければなりません。メモリとディスクの異なるファイルサイズ

私の質問は、なぜこのような現象が起こっているのですか?ファイルの書き込みと読み込みは非常にシンプルなコードなので、スペース要件が異なるのはなぜですか?最後に、このファイルをどのように読むのですか?

+2

可能な重複pandas](https://stackoverflow.com/questions/25962114/how-to-read-a-6-gb-csv-file-with-pandas) – DarkCygnus

答えて

0

チャンクを使用して、読み込み中のメモリ使用量を最小限に抑えます。

import pandas as pd 
chunksize = 10 ** 8 
chunks=pd.read_csv(filename, chunksize=chunksize): 
df=pd.concat(chunks, ignore_index=True) 

問題が解決しない場合、これはループの内側にガベージコレクタを呼び出し、いくつかのマイナーなパフォーマンスの向上を有することができる

と6ギガバイトのcsvファイルを読み取る[方法の
import pandas as pd 
import gc 
chunksize = 10 ** 8 
dfs = [] 
for chunk in pd.read_csv(filename, chunksize=chunksize): 
    dfs.append(chunk) 
    gc.collect() 
final_df = pd.concat(dfs) 
+1

[this](https://stackoverflow.com/questions)/25962114/how-to-read-a-6-gb-csv-file-with-pandas)の質問には – DarkCygnus

+1

と表示されています。私はエラー 'NameError:name 'process' not not defined'を取得します。私はそれが輸入を必要と信じています。 – Patthebug

+0

申し訳ありません!パンダだけに更新されました。 – Matt

関連する問題