0
データフレームに大量のデータがチャンクでロードされているとします。 は、例えばのために: - 3ギガバイトと仮定するとレコードが千万をしている(行数)データフレームは大量のデータをどのようにメモリに格納して操作するのですか?
c = pd.read_sql("select a,b,c from table;", con=db, chunksize=10**2):
b = c['a']
それはテーブルのチャンクを読んでいるので、私は40以上のGBと約2かもしれ3つの列を選択しているテーブルを持っていますチャンクでは、一度に3 GBのメモリ全体をロードせず、すぐに10^2 MBだけで動作し、次に自動的に次のチャンクにジャンプしますか?
そうでない場合、これをどのように動作させるか?だから、最初にすべてのドキュメント
chunksize : int, default None
If specified, return an iterator where chunksize is the number of rows
to include in each chunk.
を引用
ああ、chunksizeは行数を返します。あなたがそれをループしているときは、次のようなforループが必要です:pd.read_sqlのcの場合( "select a、b、c from table;"、con = db、chunksize = 10 ** 2): – Viv
それを行う方法です。 'iter = pd.read_sql("テーブルからa、b、cを選択する "、con = db、chunksize = 10 ** 2)'と 'iter:'のdfのために 'は等価になります。 – nucleon