【发布时间】:2019-01-31 13:09:18
【问题描述】:
我有一个关于将 groupby() 与以下 pandas 数据框的缩短示例一起使用的问题。我在这里想要实现的是为每个“store_id”添加每个“日期”的“金额”值,同时保留“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()
还有其他我不知道的方法可以轻松获得第二个示例表单吗?
【问题讨论】:
标签: python pandas dataframe group-by