pandasでgroupby.XXX()の結果をdataframeに再投入する

SQLの集計関数結果をテーブルにつっこむ、みたいな

SQLでよくこんな処理をするのではないだろうか。

create table 集計結果 as 
select
    集計キー
   ,count() as カウント
from
    元データ
group by 集計キー

な感じで集計結果をテーブルにつこむ処理。 集計の中間テーブルでよくやります。ええやりますとも。

これをpandasのdataframeでやろうとしたらハマった話

df2 = df.groupby(["集計キー"]).count()

ってやると、列名とかがおかしくなり、dataframeとして機能しなくなる。

df2.to_sql()

したいのに

df2 = df.groupby(["集計キー"],as_index=False).count()

ってやるとdf2が再度dataframeで使えますよ、って話。

Pythonによるデータ分析入門 ―NumPy、pandasを使ったデータ処理

Pythonによるデータ分析入門 ―NumPy、pandasを使ったデータ処理