我正在寻找一种方法,如何获取前一年同一天的值。
F.e.我们有 2014 年 1 月 1 日的值,我想创建一个新列,其中包含这一天的值,但来自一年前。
表的示例,我想获取 Previos_Year 列。
Date Ticks Previos_Year
2013-01-01 0 NaN
2013-01-02 1 NaN
2013-01-03 2 NaN
....
2014-01-01 3 0
2014-01-02 4 1
到目前为止我尝试过什么:
我创建了一个新的年度专栏日,
df['Day_in_Year'] = df.Date.dt.dayofyear
但我不知道如何使用它来完成我的任务。
另外,我尝试了移位功能:
df['Ticks'].shift(365)
它一直有效,直到闰年......
You can groupby
月和日,然后shift
i.e
df['Previous'] = df.groupby([df['Date'].dt.month,df['Date'].dt.day])['Value'].shift()
示例输出:
Date Ticks Value Previous
0 2013-01-01 0 99 NaN
1 2013-01-02 1 0 NaN
2 2013-01-03 2 5 NaN
3 2014-01-01 3 0 99.0
4 2014-01-02 4 1 0.0
5 2014-01-03 2 5 5.0
7 2014-01-04 2 5 NaN
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)