【发布时间】:2020-06-15 09:26:39
【问题描述】:
假设我有一个类似这样的时间序列数据框:
(p.s.以下数值不是我的真实数据,我的真实数据是从2010年到2018年)
forecast
Jan-10 1
Feb-10 1
Mar-10 1
Apr-10 1
May-10 1
Jun-10 1
Jul-10 1
Aug-10 1
Sep-10 1
Oct-10 1
Nov-10 1
Dec-10 1
Jan-11 2
Feb-11 2
Mar-11 2
Apr-11 2
May-11 2
Jun-11 2
Jul-11 2
Aug-11 2
Sep-11 2
Oct-11 2
Nov-11 2
Dec-11 2
Jan-12 3
Feb-12 3
Mar-12 3
Apr-12 3
May-12 3
Jun-12 3
Jul-12 3
Aug-12 3
Sep-12 3
Oct-12 3
Nov-12 3
Dec-12 3
我想创建一个名为“avg_recent_year”的新列,它是最近一年的平均数据(平均 12 个月以上)。
forecast avg_recent_year
Jan-10 1
Feb-10 1
Mar-10 1
Apr-10 1
May-10 1
Jun-10 1
Jul-10 1
Aug-10 1
Sep-10 1
Oct-10 1
Nov-10 1
Dec-10 1
Jan-11 2 1
Feb-11 2 1
Mar-11 2 1
Apr-11 2 1
May-11 2 1
Jun-11 2 1
Jul-11 2 1
Aug-11 2 1
Sep-11 2 1
Oct-11 2 1
Nov-11 2 1
Dec-11 2 1
Jan-12 3 2
Feb-12 3 2
Mar-12 3 2
Apr-12 3 2
May-12 3 2
Jun-12 3 2
Jul-12 3 2
Aug-12 3 2
Sep-12 3 2
Oct-12 3 2
Nov-12 3 2
Dec-12 3 2
我不确定如何为该问题编写 python 代码,因为我有 9 年的数据,所以我不能在没有迭代的情况下手动完成,否则代码会很长..
谁能帮我解决这个问题?
【问题讨论】:
-
您只是在寻找
df["forecast"].shift(12)吗? -
不,我不是。这只是一个示例数据..我真正想要的是过去一年的平均数据..
标签: python pandas numpy dataframe iteration