基于python列将数据帧拆分为更小的数据帧

基于python列将数据帧拆分为更小的数据帧,python,pandas,Python,Pandas,我有以下数据集: 我希望它看起来像这样: 我知道我需要这样做: df= df.groupby('city_id').resample('W').agg({'Quantity':'sum'}, loffset = pd.offsets.timedelta(days=-8)) 要获得每周聚合,但我需要按城市id分组,然后按周聚合 我的想法是,我需要创建多个数据帧,每个城市id一个数据帧,按日期聚合它们以生成每周输出,然后再将它们合并在一起,但我觉得有更好的方法可以做到这一点 试试这个: df.

我有以下数据集:

我希望它看起来像这样:

我知道我需要这样做:

df= df.groupby('city_id').resample('W').agg({'Quantity':'sum'}, loffset = pd.offsets.timedelta(days=-8))
要获得每周聚合,但我需要按城市id分组,然后按周聚合

我的想法是,我需要创建多个数据帧,每个城市id一个数据帧,按日期聚合它们以生成每周输出,然后再将它们合并在一起,但我觉得有更好的方法可以做到这一点

试试这个:

df.groupby(['index', 'city_id'], as_index=False).sum()

这将对前两列进行分组,并对其余的列进行汇总。

这解决了我的问题

output=df.groupby('city_id').resample('W').agg({'Quantity':'sum'},loffset=pd.offsets.timedelta(days=-8))

这不起作用:(它只是删除了我的日期索引,并用新索引替换了它