groupbyを実行すると、データフレームが列をドロップするのはなぜですか?(ドロップする列は、グループ化に使用している列の1つです)

Avijeet Singh

5列といくつかの値を持つデータフレームがあります:

df=pd.Dataframe({'date':['2019-02-07',2019-02-07','2019-02-08'],
                 'id':[223,223,223],
                 'code':[1234,1234,1234],
                 'value':[4234,34534,23423],
                 'qty':[2,3,4]})

だから今私は次のキー列でgroupbyをやっています:

key_col=['date','id','code']
df=df.groupby(key_col).agg({'value':'sum', 'qty':'sum'}).reset_index(drop=True)

これを行うことで、取得した新しい「df」はid列を削除しますが、残りは提供します。なぜそれをしているのですか、そして私はその列を保持しますか?

クアンホアン

あなたが合格のでことをやっているdrop=Truereset_indexあなたは、インデックスを破棄することをどのおもむくまま、。削除すると、インデックスは通常の列になります。

df=df.groupby(key_col).agg({'value':'sum', 'qty':'sum'}).reset_index()

他の注意点として、あなたはただパスas_index=Falsegroupby()reset_indexを放棄することができます

df=df.groupby(key_col, as_index=False).agg({'value':'sum', 'qty':'sum'})

その場合、出力は次のようになります。

         date   id  code  value  qty
0  2019-02-07  223  1234  38768    5
1  2019-02-08  223  1234  23423    4

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ