我有一个pandas数据框,其中索引是从2007年到2017年的日期。
我想计算每年每个工作日的平均值。我可以按年份分组:
这样做的问题在于我必须更改七次一周中的日期,然后在接下来的11年内重复此操作(我的时间序列始于2007年,结束于2017年),因此我必须重复77次!
是否有将时间按年份和工作日分组以加快此过程的方法?
我想计算每年每个工作日的平均值。我可以按年份分组:
groups = df.groupby(TimeGrouper('A'))
years = DataFrame()
for name, group in groups:
years[name.year] = group.values
以下是我创建新数据框(years)的方法,在每个列中获得时间序列的每年。 如果我想查看每年的统计信息(例如平均值):
print(years.mean())
但是现在我想将每年的每个星期分开,以便获得所有星期的平均值。
我所知道的唯一的事情是:
year=df[(df.index.year==2007)]
day_week=df[(df.index.weekday==2)]
这样做的问题在于我必须更改七次一周中的日期,然后在接下来的11年内重复此操作(我的时间序列始于2007年,结束于2017年),因此我必须重复77次!
是否有将时间按年份和工作日分组以加快此过程的方法?
groups = df.groupby([df.index.year, df.index.weekday]))
合适吗? - jezrael