我想将每日数据汇总到每周(7天总和),但以最后一个日期为‘来源’。是否可以使用pd.Grouper从结束日期开始进行分组?下面是数据的外观:
这段代码:
df.groupby(pd.Grouper(key='date', freq='7d'))['value'].sum()
结果至
2020-01-01 5
2020-01-08 12
2020-01-15 4
但我希望是这样:
2020-01-01 0
2020-01-03 7
2020-01-10 14
发布于 2020-09-15 18:28:04
您使用的方法可以使用df上的pandas的resample
方法来缩短
但我认为你的问题在于约会的顺序;
您期望的结果是更多的按天输出;
因此,我建议拆分df,然后再合并它们。
df.set_index(['date'],inplace=True)
df_below = df[3:].resample('W').sum()
df_up = df.iloc[0:3,:].sum()
# or you can give dates instead of 0:3 in iloc
第0,1,2行可以取这n行的和,然后再次使用hstack or concat or merge
使它们成为一个DataFrame
请随时询问更多问题...
https://stackoverflow.com/questions/63898817
复制相似问题