簡體   English   中英

基於日期列在 pandas 中創建滯后列

[英]Create lagged column in pandas based on a date column

我有這個df:

  PredictionDate    U.S. 30 yr FRM  U.S. 15 yr FRM
0      2014-12-31            3.87          3.15
1      2015-01-01            3.87          3.15
2      2015-01-02            3.87          3.15
3      2015-01-03            3.87          3.15
4      2015-01-04            3.87          3.15
               ...  ... ... ...
2769    2022-07-31           5.30          4.58
2770    2022-08-01           4.99          4.26
2771    2022-08-02           4.99          4.26
2772    2022-08-03           4.99          4.26
2773    2022-08-04           4.99          4.26

並希望創建兩個新列,其中包含PredictedDate列中該行日期前 30 天的 30 年和 15 年的數據。 output 應如下所示:

   PredictionDate   U.S. 30 yr FRM  U.S. 15 yr FRM      30yrLag 15yrLag
0      2014-12-31            3.87           3.15        3.72  3.12
1      2015-01-01            3.87           3.15        3.72  3.12
2      2015-01-02            3.87           3.15        4.72  3.12
3      2015-01-03            3.87           3.15         .     .
4      2015-01-04            3.87           3.15         .     .
                  ... ... ... ...
20528   2022-07-31           5.30           4.58         .     .
20529   2022-08-01           4.99           4.26         .     .
20530   2022-08-02           4.99           4.26         .     .
20531   2022-08-03           4.99           4.26         .     .
20532   2022-08-04           4.99           4.26         .     .

有任何想法嗎?

解決方案:

pmms_df.set_index('PredictionDate', inplace=True)
pmms_df['30yrLag'] = pmms_df.shift(30)['U.S. 30 yr FRM'].values
pmms_df['15yrLag'] = pmms_df.shift(30)['U.S. 15 yr FRM'].values
pmms_df.reset_index(inplace = True)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM