【问题标题】:replace and imputing missing data in time series替换和估算时间序列中的缺失数据
【发布时间】:2021-07-29 18:03:11
【问题描述】:

我的时间序列数据在某些日期和时间有缺失值 我想要一种考虑天数的插补方法,例如,如果星期一下午 1 点我丢失了数据,我将同时用上星期一的相同记录(数据)替换它。

如果有人可以帮助我,我将不胜感激,这是我拥有的数据格式的摘录:

date                        total   hour
2021-02-09 10:00:00         102.0   10
2021-02-09 11:00:00         175.0   11
2021-02-09 12:00:00         234.0   12
2021-02-09 13:00:00         272.0   13
2021-02-09 14:00:00         117.0   14
2021-02-09 15:00:00         300.0   15
2021-02-10 10:00:00                 10
2021-02-10 11:00:00         200.0   11

【问题讨论】:

  • 您的示例显示没有丢失数据?还有,什么语言?
  • 是的,我只展示了数据的摘录,它是 python
  • 我的意思是,如果您的示例包含缺少数据,这可能会很好,本质上是一个minimal reproducible example。此外,您可能想添加一些您试图解决此问题的内容。
  • 我已经修改了例子

标签: python dataframe datetime time-series missing-data


【解决方案1】:

您可以将当前值替换为上周一的值:

curTime="2021-02-10 10:00:00"
curIndex = df["date"]==curTime
df.loc[curIndex] = df.loc[curIndex].replace(np.nan, prevValue)

另外,我想给大家介绍一些方法:

  1. 熊猫fillna 函数。您可以使用 method="ffill" 或 "bfill" 或组合它们。时间序列比一般数据更适合后向/前向插补。

  2. statsmodels,为时间序列设计的著名包。分析时间序列的经典方法有很多。

【讨论】:

    猜你喜欢
    • 2021-06-10
    • 2019-08-06
    • 1970-01-01
    • 2019-06-22
    • 2019-11-27
    • 2020-12-13
    • 2014-06-21
    • 2021-05-27
    • 1970-01-01
    相关资源
    最近更新 更多