我有一张桌子如下
Timestamp | record_id
01-04-2024 00:00 | 1
01-04-2024 00:01 | 2
01-04-2024 00:02 | 3
01-04-2024 00:03 | 4
N/A | 5
N/A | 6
01-04-2024 00:06 | 7
我知道时间戳会增加 1 分钟。由于我缺少数据,我需要向前填充它并在之前的值上添加 1 分钟。我有连续的 N/A 值。我尝试了一些解决方案,包括以下内容,但似乎不起作用
missing_mask = df['Timestamp'].isna()
df.loc[missing_mask, 'Timestamp'] = df.loc[missing_mask, 'Timestamp'].fillna(method='ffill') + pd.Timedelta(minutes=1)
我在这里遗漏了一些明显的东西吗?
pd.Series.interpolate
:
# convert to datetime if needed:
df["Timestamp"] = pd.to_datetime(df["Timestamp"])
df["Timestamp"] = df["Timestamp"].interpolate()
print(df)
打印:
Timestamp record_id
0 2024-01-04 00:00:00 1
1 2024-01-04 00:01:00 2
2 2024-01-04 00:02:00 3
3 2024-01-04 00:03:00 4
4 2024-01-04 00:04:00 5
5 2024-01-04 00:05:00 6
6 2024-01-04 00:06:00 7