【问题标题】:How to select specific weeks in a datetime indexed dataframe and plot their mean如何在日期时间索引数据框中选择特定周并绘制它们的平均值
【发布时间】:2021-04-26 10:00:59
【问题描述】:

对不起,我的标题可能有点混乱。

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

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

我在绘制年、月、周或每日图表时没有问题,但我无法进行下一步。

我想选择一个特定范围的数据(例如,如果我想研究夏季,假设是在 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)

很确定这不是最性感的方式,但现在看来已经足够了 :)

【问题讨论】:

  • 请添加最小代码以重现
  • 我添加了一点代码来解释,但我的问题是我找不到启动代码的方法,所以我没有太多代码:/

标签: python pandas datetime


【解决方案1】:

终于找到了办法,我编辑了第一个帖子,希望对其他人有所帮助

【讨论】:

  • 看看seaborn
猜你喜欢
  • 2011-07-18
  • 2021-06-15
  • 2020-11-20
  • 2017-10-04
  • 2022-12-19
  • 1970-01-01
  • 2020-06-19
  • 2020-07-13
  • 1970-01-01
相关资源
最近更新 更多