私はpandasに多くのSQLを実行しています。私は以下の課題に取り組んでいます。pandasデータフレームを更新するSQL値
私は私がやりたい何
UserID, AccountNo, AccountName
123, 12345, 'Some name'
...
のように見えるのデータフレームは、各口座番号のために、私は、MySQLデータベースから取得された総収入と呼ばれる列を追加したいと思いますされてい、ソム私は何かのように、
for accountno in df['AccountNo']:
df1 = pd.read_sql(('select sum(VBRK_NETWR) as sum from sapdata2016.orders where VBAK_BSARK="ZEDI" and VBRK_KUNAG = %s;') % accountno, conn)
のことを考えていると私は、このような
UserID, AccountNo, AccountName, TotalRevenue
123, 12345, 'Some name', df1
...
そのデータフレームを拡張する必要があります私はこれまで持っている210
コード
sets3 = []
i=0
for accountno in df5['kna1_kunnr']:
df1 = pd.read_sql(('select sum(VBRK_NETWR) as sum from sapdata2016.orders where VBAK_BSARK="ZEDI" and VBRK_KUNAG = %s;') % accountno, conn)
df2 = pd.DataFrame([(df5['userid'][i], df5['kna1_kunnr'][i], accountno, df5['kna1_name1'][i], df1['sum'][0])], columns=['User ID', 'AccountNo', 'tjeck', 'AccountName', 'Revenue'])
sets3.append(df2)
i += 1
df6 = pd.concat(sets3)
このアイデア/コードはかなりではない(と動作していないがのGetItemエラーをキャスト)、と私はそれを行うには良い/よりよい方法がありますかしら、 何か案は?
データが異なるデータベースやテーブルのロットから来て、それ私がやっている非常にカットアンドペーストの手順です。 –
私はあなたがテーブルのすべてを個々のデータフレームに読み込んで、それらを適切なキーで一緒に結合してから要約を行うべきだと思います。私たちに、テーブルの代表的な選択肢から5 - 10行を表示してください。 –
@PaulH - またはその逆に、すべてのデータをDBに書き込んで、MySQLでクエリを実行してください。 – Parfait