Pad*_*ddy 3 python time-series pandas
我正在寻找一种方法,如何在同一天获得前一年的价值.
我们有2014-01-01的值,我想创建一个新列,其中包含今天的价值,但是从一年前开始.
表的一个示例,我想获得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
Run Code Online (Sandbox Code Playgroud)
到目前为止我尝试了什么:
我在一年中创建了一个新的专栏,
df['Day_in_Year'] = df.Date.dt.dayofyear
Run Code Online (Sandbox Code Playgroud)
但我无法弄清楚如何将它用于我的任务.
另外,我尝试了转换功能:
df['Ticks'].shift(365)
Run Code Online (Sandbox Code Playgroud)
它工作,直到闰年......
你可以groupby月和日,然后shift即
df['Previous'] = df.groupby([df['Date'].dt.month,df['Date'].dt.day])['Value'].shift()
Run Code Online (Sandbox Code Playgroud)
样本输出:
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1876 次 |
| 最近记录: |