Python ffill,计算时间戳作为填充值

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

我有一张桌子如下

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)

我在这里遗漏了一些明显的东西吗?

python dataframe forward-fill
1个回答
0
投票

你可以试试

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
© www.soinside.com 2019 - 2024. All rights reserved.