用データフレームを構築し、私は次のようなテーブルがある:SQL列の個別の値を超える反復処理し、各値
|A|B|C|D|
|---|---|---|---|
|1|b1|c1|d1|
|1|b2|c2|d2|
|2|b3|c3|d3|
|2|b4|c4|d4|
私はAの異なる値を反復してパンダを構築したいと思いますデータフレームを残りの列から除外し、そのテーブルを使用して計算を行います。私は、次のことを試してみました:
import sqlite3
import pandas as pd
conn = sqlite3.connection('my_db.db')
c = conn.cursor()
for entry in c.execute("SELECT DISTINCT A in table):
df = pd.DataFrame(c.execute("SELECT * FROM table WHERE A = ?", (entry[0],)).fetchall())
データフレームを構築する2番目のカーソルオブジェクトiが反復処理されたカーソルオブジェクトを上書きするので、これは動作しません。また、2つのカーソルオブジェクトを持つことができないことも発見しました。これを回避するにはどうすればよいですか?
残念ながら、テーブル全体を一度にメモリに読み込むことができないので、私はそのような方法でパンダを使用することはできません。しかし、それはオプションです知って良い! – deltap
'pandas.read_sql'には' chunksize' kwagがあります。 SQLクエリを使ってテーブルをソートし、 'chunksize'オプションを使います。 – Kartik