Python 为什么我的dataframe在执行groupby后会删除coulmn?(正在删除的列是我用来分组的列之一)

Python 为什么我的dataframe在执行groupby后会删除coulmn?(正在删除的列是我用来分组的列之一),python,pandas,dataframe,Python,Pandas,Dataframe,我有一个数据框,有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]}) 因此,现在我正在使用

我有一个数据框,有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]})
因此,现在我正在使用以下关键列进行分组:

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


现在,通过这样做,我得到的新“df”会删除id列,但会给我剩下的。它为什么这样做?我是否保留该列?

之所以这样做,是因为您将
drop=True
传递给
reset\u index
,这表明您希望放弃该索引。删除它,索引将成为常用列

df=df.groupby(key_col).agg({'value':'sum', 'qty':'sum'}).reset_index()
另一方面,您可以将
作为_index=False传递给
groupby()
,并放弃
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