下記のようなデータフレーム(df1)があるとします。
product area amount
梨 千葉 3,400
メロン 北海道 2,100
梨 栃木 2,400
メロン 茨城 4,200
クリ 熊本 2,500
クリ 愛媛 800
梨 茨城 2,300
クリ 茨城 4,400
メロン 熊本 2,200
このデータフレームをpandasのgroupbyで下記のようにグループ化して、MySQLのテーブルに挿入したいと考え、プログラムを書いてみました。
product area amount
クリ 熊本 2,500
クリ 愛媛 800
クリ 茨城 4,400
梨 千葉 3,400
梨 栃木 2,400
梨 茨城 2,300
メロン 北海道 2,100
メロン 茨城 4,200
メロン 熊本 2,200
import pandas as pd from sqlalchemy import create_engine df2 = df1.groupby('product') engine = create_engine('mysql+pymysql://root:hoge@localhost:3306/fuga?charset=utf8') df2.to_sql(name='piyo', con=engine, if_exists='replace', index=False)
groupbyによるグループ化、およびto_sqlによるMySQLへの挿入はそれぞれ単独では問題なく機能しているようなのですが、これらを組み合わせて「グループ化 → MySQLへの挿入」をやろうとすると、下記のエラーメッセージが出てしまいます。
AttributeError: Cannot access callable attribute ‘to_sql’ of ‘DataFrameGroupBy’ objects, try using the ‘apply’ method
どのようにしたらエラーを回避して「グループ化 → MySQLへの挿入」ができるかご教示いただけないでしょうか。
よろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー