为步长值插值时间序列数据

问题描述 投票:0回答:1

我的时间序列数据如下所示(mm/dd hh:mm):

3.100   12/14 05:42
3.250   12/14 05:24
3.300   12/14 05:23
3.600   12/14 02:45
3.700   12/13 10:54
3.600   12/12 13:19
3.900   12/12 10:43

我需要以 1 分钟为间隔进行插值。这将是一个步骤图,因此在新值之前这些值应该相同。

python pandas
1个回答
0
投票

如果 df 是给定的 7 行数据框,

df.set_index('date', inplace=True)  # date as index

创建主数据帧 df2,每分钟一行

timestamps = pd.date_range('2024-12-12 10:43', '2024-12-14 05:42', freq='1min') 
df2 = pd.DataFrame({'value': np.nan}, index=timestamps)

df2.loc[df.index] = df  # fill with the known values in df
df2['value'].fillna(method='ffill', inplace=True)  # forward fill the missing values (bfill for backfoward)

display(df2[-25:-15])

res

© www.soinside.com 2019 - 2024. All rights reserved.