2017-11-28 17 views
1

私は同じ日の前年の値を取得する方法を探しています。パンダ:今年の同じ日の前年から値を取得

F.e.私たちは2014-01-01の価値を持っています。私は今年の値で1年前の値から新しい列を作成したいと思います。

テーブルのサンプル、私はPrevios_Yearカラムを取得したいと思います。

を私は

df['Day_in_Year'] = df.Date.dt.dayofyear 

、今年の新しい列の日を作成しましたが、私は私の仕事のためにそれを使用する方法を見つけ出すことができませんでした:私がこれまで試してみました何

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['Ticks'].shift(365) 

、それは閏年まで、働く...そしてあなたがgroupby月と日ができ

答えて

3

shiftすなわち

df['Previous'] = df.groupby([df['Date'].dt.month,df['Date'].dt.day])['Value'].shift() 

また、私はシフトfucntionを試してみました

サンプル出力:

 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 
+0

とても速い!ありがとうございました! – Paddy

+1

通常、パンダの質問はより早く回答されます。私はこれを得てうれしい。 – Dark

関連する問題