簡體   English   中英

使用新日期作為預測擴展多索引數據框

[英]Expanding multi-indexed dataframe with new dates as forecast

注意:我已經按照 Stackoverflow 的說明如何創建 MRE 並按照指示將 MRE 粘貼到“代碼塊”中(即,將其粘貼到正文中,然后在突出顯示時按 Ctrl+K)。 如果我仍然沒有正確執行,請告訴我。

回到問題:假設我現在在日期 (df['DT']) 和 ID (df['ID']) 中都有一個 df 多重索引

DT,ID,value1,value2
2020-10-01,a,1,1
2020-10-01,b,2,1
2020-10-01,c,3,1
2020-10-01,d,4,1
2020-10-02,a,10,1
2020-10-02,b,11,1
2020-10-02,c,12,1
2020-10-02,d,13,1

df = df.set_index(['DT','ID'])

現在,我想將 df 擴展為 '2020-10-03' 和 '2020-10-04',其 ID {a,b,c,d} 集與我的預測期相同。 為了預測值 1,我假設他們將取現有值的平均值,例如對於 2020-10-03' 和 '2020-10-04' 中的值 1,我假設它將需要 (1+10)/2 = 5.5。 對於值 2,我假設它將保持不變為 1。

預期的 df 將如下所示:

DT,ID,value1,value2
2020-10-01,a,1.0,1
2020-10-01,b,2.0,1
2020-10-01,c,3.0,1
2020-10-01,d,4.0,1
2020-10-02,a,10.0,1
2020-10-02,b,11.0,1
2020-10-02,c,12.0,1
2020-10-02,d,13.0,1
2020-10-03,a,5.5,1
2020-10-03,b,6.5,1
2020-10-03,c,7.5,1
2020-10-03,d,8.5,1
2020-10-04,a,5.5,1
2020-10-04,b,6.5,1
2020-10-04,c,7.5,1
2020-10-04,d,8.5,1

感謝您的幫助和時間。

對於平均使用容易預測DataFrame.unstackDatetimeIndex ,通過添加下一個日期時間DataFrame.reindexdate_range ,然后替換缺失值value1的水平DataFrame.fillnavalue2設為1 ,由過去的整形回DataFrame.stack

print (df)
               value1  value2
DT         ID                
2020-10-01 a        1       1
           b        2       1
           c        3       1
           d        4       1
2020-10-02 a       10       1
           b       11       1
           c       12       1
           d       13       1

rng = pd.date_range('2020-10-01','2020-10-04', name='DT')
df1 = df.unstack().reindex(rng)
df1['value1'] = df1['value1'].fillna(df1['value1'].mean())
df1['value2'] = 1

df2 = df1.stack()

print (df2)
               value1  value2
DT         ID                
2020-10-01 a      1.0       1
           b      2.0       1
           c      3.0       1
           d      4.0       1
2020-10-02 a     10.0       1
           b     11.0       1
           c     12.0       1
           d     13.0       1
2020-10-03 a      5.5       1
           b      6.5       1
           c      7.5       1
           d      8.5       1
2020-10-04 a      5.5       1
           b      6.5       1
           c      7.5       1
           d      8.5       1

但是預測比較復雜,你可以看看這個

暫無
暫無

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

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