1 回答

TA貢獻(xiàn)1883條經(jīng)驗(yàn) 獲得超3個贊
為了使用平均使用DataFrame.unstack
for進(jìn)行輕松預(yù)測DatetimeIndex
,請?zhí)砑酉乱粋€日期時間 by?DataFrame.reindex
with?date_range
,然后替換value1
級別中的缺失值 byDataFrame.fillna
并value2
設(shè)置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
但預(yù)測比較復(fù)雜,你可以檢查一下
添加回答
舉報(bào)