我有一个关于使用groupby()函数的问题,下面是一个pandas数据框的简短示例。我的目标是对每个“store_id”在“date”上的“amount”值进行累加,同时保留“days_of_week”和“holiday”列。
因此,结果应该如下所示。
有没有其他我不知道的方法可以轻松地获取第二个表单?
store_id date amount days_of_week holiday
0 0 2017-11-14 100 1 0
1 0 2017-11-14 -100 1 0
2 1 2017-11-14 122 1 0
3 1 2017-11-19 55 6 1
4 2 2017-11-19 11 6 1
5 2 2017-11-19 32 6 1
因此,结果应该如下所示。
store_id date amount days_of_week holiday
0 0 2017-11-14 0 1 0
1 1 2017-11-14 122 1 0
2 1 2017-11-19 55 6 1
3 2 2017-11-19 43 6 1
我尝试删除“day_of_week”和“holiday”列,然后使用groupby()函数按日期获取总和。但这远远没有达到我想要的结果形式。
train = train.drop(columns=['days_of_week', 'holiday'])
train.groupby(['store_id', 'date'])['amount'].sum()
有没有其他我不知道的方法可以轻松地获取第二个表单?