【问题标题】:Merge two never overlapping time series [closed]合并两个从不重叠的时间序列[关闭]
【发布时间】:2018-08-16 02:47:40
【问题描述】:

我有 2 个时间序列。每个时间序列都是传感器的交通数据(通过的车辆数量)。但是,一个时间序列是每小时记录一次流量数据,例如下午 1 点、下午 2 点、下午 3 点、下午 4 点……等等,而另一个时间序列每半小时记录一次流量数据,例如 2:下午 15 点、下午 2 点 45 分、下午 3 点 15 分、下午 3 点 45 分……等等。如果我想将这 2 个系列合并为 1 个。有谁知道可以做到这一点的任何框架/包?另外,结果的频率可能是多少?是否必须是频率更高的(即在这种情况下为半小时一次)才能丢失最少的数据?

任何帮助将不胜感激。

编辑 1:这里是示例:

传感器 1:

TimeStamp VehiclesPassed,

下午 1:00 400, 下午 2:00 800, 下午 3:00 900, 下午 4:00 500,

传感器 2:

TimeStamp VehiclesPassed,

200 年下午 2 点 15 分, 下午 2 点 45 分 300 分, 下午 3:15 500, 下午 3:45 600

生成的时间序列应该是什么样子?我无法为您提供输出,因为我正在努力为您提供一种更容易接受并且是其他可用框架/产品中的标准做法。

谢谢(如果我需要更多解释,请告诉我。)

【问题讨论】:

  • 寻求帮助时,您应该包含一个简单的reproducible example,其中包含可用于测试和验证可能解决方案的示例输入和所需输出。
  • 感谢弗利克先生的建议。我已经编辑了问题。

标签: r matlab pandas time-series


【解决方案1】:

将每个定义为"zoo" 系列,然后使用c 组合它们:

library(zoo)
library(chron)

ts1 <- zoo(1:4, times(c("13:00:00", "14:00:00", "15:00:00", "16:00:00")))

ts2 <- zoo(11:18, times(c("13:15:00", "13:45:00", "14:15:00", "14:45:00", 
"15:15:00", "15:45:00", "16:15:00", "16:45:00")))

c(ts1, ts2)

给予:

13:00:00 13:15:00 13:45:00 14:00:00 14:15:00 14:45:00 15:00:00 15:15:00 
       1       11       12        2       13       14        3       15 
15:45:00 16:00:00 16:15:00 16:45:00 
      16        4       17       18 

【讨论】:

    猜你喜欢
    • 2016-09-01
    • 1970-01-01
    • 2020-04-20
    • 2022-11-08
    • 2016-10-14
    • 2018-07-03
    • 2013-09-11
    • 2016-10-14
    • 2011-10-28
    相关资源
    最近更新 更多