如何在日期时间索引数据帧中选择特定的周并绘制它们的平均值



很抱歉我的标题可能有点混乱。

我得到了一个巨大的日期时间索引数据帧,在两年内每小时有一个条目。

我正在尝试研究不同规模(年、月、周、日…(的不同季节性

我在绘制年、月、周或每日图表时没有问题,但我被困在了下一步。

我想选择一个特定的数据范围(例如,如果我想研究夏天,可以说是在5月到9月之间(,并绘制一张图表,表示所选时间段内一周的平均每小时小时数。就像我的第一点是这段时间内所有星期一凌晨01:00的平均值,第二点是02:00的平均值等,直到星期日23:00。

如果有人能给我一个线索的话,我就是不知道该怎么做:/

希望你有一个美好的一天

编辑我没有太多代码,但无论如何我都会给你看。

我试图找到一个值,现在我想创建一个函数,可以找到所有其他值并绘制图形

season=df.loc['2019-04':'2019-09']
x=season[["column_name"]][(saison["hour"]==1)&(season["day"]==1)]
x.mean()

这给了我想要的周一凌晨1点的价格。现在我想创建一个循环,可以按照正确的顺序生成所有值,以绘制整个星期的

好吧,我终于通过使用这个得到了我的解决方案

def graph(a,b,c): #With "a' the date starting the period I want, 'b' the date ending it and 'c' the column I want to plot
saison=df.loc[a:b]
test=[]
for i in range (7):
for j in range (24):
x=season[[c]][(season["hour"]==j)&(season["day"]==i)]
z=x.mean()
test.append(z)
plt.figure(figsize=[18,10])
plt.xticks([0,24,48,72,96,120,144],['Monday','Tuesday','Wednesday','Thursday','Friday', 'Saturday', 'Sunday'])
plt.plot(test)

很确定这不是最性感的方式,但目前看来已经足够了:(

终于找到了一种方法,我编辑了第一篇文章,希望它能帮助其他人

最新更新