从 df 插入数据,其中包括日期时间在内的多列

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

如果这看起来像是另一个问题的重复,我很抱歉,但我找不到可以使用的问题。

我有来自 CSV 文件的大量数据,如下所示:

MMSI,   BaseDateTime,        LAT,       LON,      SOG, COG
111,    2023-01-01T00:01:19, 27.3538,  -94.6253,  0.1, 35.3
111,    2023-01-01T00:04:18, 27.35372, -94.6253,  0.1, 18.3
111,    2023-01-01T00:07:19, 27.35372, -94.62534, 0.1, 290.0
111,    2023-01-01T00:10:19, 27.35374, -94.62538, 0.1, 249.5
111,    2023-01-01T00:16:18, 27.35376, -94.62543, 0.1, 225.5
1056261,2023-01-01T00:00:12, 26.11815, -80.14815, 0.0, 300.4
1056261,2023-01-01T00:01:21, 26.11817, -80.14821, 0.0, 291.8
1056261,2023-01-01T00:02:32, 26.11814, -80.14817, 0.0, 284.0
1056261,2023-01-01T00:03:41, 26.11815, -80.14819, 0.0, 288.9

MMSI 应被视为船只 ID 的一种形式。

现在我的问题是 BaseDateTime 中的间隔非常不均匀。有时只延迟几分钟,有时则延迟更长。

这对我来说不起作用,因为我想要每分钟都有数据点。我可以使用插值法吗?

我已经尝试过使用 pandas 插值来做到这一点,但它似乎已经过时了。

如果您需要更多信息,请告诉我。

python interpolation
1个回答
0
投票

这是以一分钟的间隔对

COG
列进行重新采样并插入缺失值的示例。

cog_interpolated = pd.Series(df["COG"].values, index=df["BaseDateTime"].values)
cog_interpolated = cog_interpolated.resample('T').mean()

cog_interpolated = cog_interpolated.interpolate(method='time')

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