【问题标题】:How to call previous two week same day value in python如何在python中调用前两周同一天的值
【发布时间】:2019-01-13 18:00:42
【问题描述】:

我正在尝试获取前一周同一天的数据,然后为今天的预测(预测)取平均值(“current_demand”)。

例如:

今天是星期一,所以我想在同一时间或同一时间从星期一的数据中获取最近两周的数据,然后取值 ["current_demand"] 的平均值来预测今天的值。

输入数据:

current_demand  Date    Blockno weekday
        18839   01-06-2018  1   4
        18836   01-06-2018  2   4
        12256   02-06-2018  1   5
        12266   02-06-2018  2   5
        17957   08-06-2018  1   4
        17986   08-06-2018  2   4
        18491   09-06-2018  1   5
        18272   09-06-2018  2   5

预期结果:

        18398   15-06-2018  1   4

类似的东西。我想取前两周值的相同值、相同块和同一天,然后计算下一个平均值。

我已经尝试了一些东西:

def forecast(DATA):
    df = DATA
    day = {0:'Monday',1:'Tuesday',2:'Wednesday',3:'Thursday',4:'Friday',5:'Saturday',6:'Sunday'}
    df.friday = day - timedelta(days=day.weekday() + 3)
    print df

forecast(DATA)

请给我一些建议。提前谢谢你

【问题讨论】:

  • 类似df.set_index('Date').resample('2W-MON').mean().dropna()?

标签: python python-3.x python-2.7 pandas forecasting


【解决方案1】:

我喜欢 relativedelta 做这种工作

from dateutil.relativedelta import relativedelta
(datetime.datetime.today() + relativedelta(weeks=-2)).date()

输出:

datetime.date(2018, 7, 23)

如果没有您的 df 的实际结构,很难提供适合您需求的解决方案

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-20
    • 1970-01-01
    • 1970-01-01
    • 2015-11-24
    • 2021-08-24
    • 1970-01-01
    相关资源
    最近更新 更多