You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何合并两种非重叠频率的交通流量时间序列?求工具及结果频率

合并不同频率无重叠交通流量时间序列的方案

嘿,这个需求在交通数据分析里太常见了——处理两套不同采样频率、还无重叠的时间序列合并,我来给你拆解下可行的方案和注意点:

一、可用的框架/工具包

根据你常用的编程语言,推荐这些成熟的工具:

Python 生态

  • Pandas:绝对是首选!它的时间索引处理、resample()重采样、merge_asof()时序合并API完美适配你的场景。只需把两个传感器的数据转成带DatetimeIndex的DataFrame,直接用pd.concat()合并(因为无重叠不会有冲突),再按需调整频率就行。
  • Darts:专门面向时序分析的库,除了合并重采样,还支持后续的流量预测、异常检测,适合需要深度分析的场景。
  • PySpark:如果你的数据量超大(百万级以上记录),分布式处理用它准没错,内置的时间窗口函数和重采样工具能高效搞定大规模时序合并。

R 生态

  • Tidyverse(lubridate + tsibble):lubridate能轻松把各种时间字符串转成标准格式,tsibble是专为时序数据设计的tidy格式框架,用bind_rows()合并后,配合index_by()就能快速重采样。
  • xts/zoo:经典的时序处理包,针对时间序列对象的合并、重采样支持非常成熟,适合习惯传统时序分析工作流的用户。

二、合并后序列的可行频率

结合你的原始数据(整点小时级 + 每半小时非整点(15/45分)),这几个频率最实用:

  • 15分钟频率:这是最细的粒度,能完整保留所有原始数据点。因为两个数据源的时间点刚好是00、15、45分,合并后每15分钟一个记录,完全覆盖所有采样点,不会丢失任何信息。
  • 30分钟频率:把数据聚合到30分钟窗口(比如00-30分、30-60分),对窗口内的车辆数量做累加(流量是计数类数据,累加比取均值更合理)。比如2:00的整点数据归到2:00-2:30窗口,2:15的也归到该窗口,2:45的归到2:30-3:00窗口。
  • 小时级频率:把每个小时内的所有数据(整点的记录 + 该小时内15/45分的记录)累加,得到每小时的总流量,适合不需要细粒度数据的宏观分析场景。
  • 自定义频率:如果业务有特殊需求(比如每45分钟)也可以实现,但一般不推荐,除非有明确的业务场景支撑。

三、实操小Tips

  • 第一步务必统一时间戳格式:不管原始数据是字符串还是其他格式,都转成标准的datetime类型(比如Python用pd.to_datetime(),R用lubridate::ymd_hms()),确保时间索引准确无误。
  • 因为两个序列无重叠,合并时不用担心重复时间点的冲突问题,直接按时间索引拼接即可,省了不少麻烦。
  • 重采样时要选对聚合方式:交通流量是计数类数据,用sum()累加;如果是速度这类连续数据,再考虑mean()或median()。
  • 可以给合并后的序列加个source字段,标记每个数据点来自哪个传感器,方便后续排查问题或分析不同传感器的差异。

内容的提问来源于stack exchange,提问作者Santosh Bobade

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 08:13:58