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