如何补全数据框中缺失的数据

how to complete missing data in a dataframe

我正在使用 API 下载实时股市数据。 这些信息很多时候是不完整的。 例如;

                                 Open        High         Low       Close   Adj Close   Volume
Datetime
2022-02-16 15:00:00-05:00  172.872101  173.029999  172.839996  172.910004  172.910004        0
2022-02-16 15:01:00-05:00  172.899994  172.949997  172.779999  172.815002  172.815002   160249
2022-02-16 15:04:00-05:00  173.089996  173.320007  173.030106  173.315002  173.315002   311095
2022-02-16 15:05:00-05:00  173.320007  173.339996  173.164993  173.214996  173.214996   174639
2022-02-16 15:07:00-05:00  173.139999  173.179993  173.089996  173.160004  173.160004   135559

从时间戳可以看出,它跳过了很多信息

我的问题是: 有没有办法补齐缺失的数据来实现这样的目标?

                                 Open        High         Low       Close   Adj Close   Volume
Datetime
2022-02-16 15:00:00-05:00  172.872101  173.029999  172.839996  172.910004  172.910004        0
2022-02-16 15:01:00-05:00  172.899994  172.949997  172.779999  172.815002  172.815002   160249
2022-02-16 15:02:00-05:00  172.809998  172.990005  172.809998  172.979996  172.979996   119117
2022-02-16 15:03:00-05:00  172.970001  173.169998  172.964996  173.080093  173.080093   264624
2022-02-16 15:04:00-05:00  173.089996  173.320007  173.030106  173.315002  173.315002   311095
2022-02-16 15:05:00-05:00  173.320007  173.339996  173.164993  173.214996  173.214996   174639
2022-02-16 15:06:00-05:00  173.220001  173.220001  173.080002  173.139999  173.139999   124707
2022-02-16 15:07:00-05:00  173.139999  173.179993  173.089996  173.160004  173.160004   135559

有很多方法可以做到这一点。浏览整个博客。 https://towardsdatascience.com/6-different-ways-to-compensate-for-missing-values-data-imputation-with-examples-6022d9ca0779

  1. 如果您有足够的数据进行训练,请删除缺失的数据。
  2. 使用博客中的技术添加数据。

以 1 分钟为周期重新采样,然后进行插值以填充 NaN 值

df = df.resample('1T').interpolate(method='linear', limit_direction='forward', axis=0)