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

使用Pandas DataFrame匹配不同采样率的时间数据

时间序列匹配与RSRP值填充方案

核心思路

通过时间向下取整对齐,把0.1秒采样的飞行日志时间映射到最近的整秒,再与1秒采样的RSRP数据按整秒时间关联,实现批量填充。

具体实现(Python Pandas为例)

假设你已有两个数据集:

  • flight_log_df:飞行日志数据,含时间列(如timestamp)
  • rsrp_df:RSRP数据,含整秒时间列(如rsrp_timestamp)和rsrp_value列

步骤1:统一时间格式

先将两个数据集的时间列转为datetime类型,确保匹配基础一致:

import pandas as pd

# 转换飞行日志时间
flight_log_df['timestamp'] = pd.to_datetime(flight_log_df['timestamp'])
# 转换RSRP时间
rsrp_df['rsrp_timestamp'] = pd.to_datetime(rsrp_df['rsrp_timestamp'])

步骤2:生成整秒匹配键

对飞行日志的时间向下取整到整秒,生成用于关联的时间键:

flight_log_df['second_aligned'] = flight_log_df['timestamp'].dt.floor('S')

步骤3:关联并填充RSRP值

方法1:字典映射(快速高效)

# 构建RSRP时间-值映射字典
rsrp_map = rsrp_df.set_index('rsrp_timestamp')['rsrp_value'].to_dict()
# 为飞行日志批量填充RSRP值
flight_log_df['rsrp_value'] = flight_log_df['second_aligned'].map(rsrp_map)

方法2:数据集合并(适合保留多字段场景)

merged_df = pd.merge(
    flight_log_df,
    rsrp_df,
    left_on='second_aligned',
    right_on='rsrp_timestamp',
    how='left'
)

常见异常处理

  • 若RSRP数据存在某一秒缺失,填充结果会出现NaN,可按需补全:
    # 用前一秒的RSRP值填充缺失
    flight_log_df['rsrp_value'] = flight_log_df['rsrp_value'].fillna(method='ffill')
    # 或用后一秒值填充
    flight_log_df['rsrp_value'] = flight_log_df['rsrp_value'].fillna(method='bfill')
    
  • 若时间是数值型时间戳(如毫秒/秒级),先转成datetime再处理:
    # 示例:毫秒级时间戳转datetime
    flight_log_df['timestamp'] = pd.to_datetime(flight_log_df['timestamp'], unit='ms')
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 10:29:56