1 回答

TA貢獻1883條經驗 獲得超3個贊
為了使用平均使用DataFrame.unstack
for進行輕松預測DatetimeIndex
,請添加下一個日期時間 by?DataFrame.reindex
with?date_range
,然后替換value1
級別中的缺失值 byDataFrame.fillna
并value2
設置for?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
但預測比較復雜,你可以檢查一下
添加回答
舉報