全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Pandas 中实现非规则时间序列的线性插值重采样(对齐整点)

本文介绍如何使用 pandas 对带有不规则时间戳的小时级气象数据进行重采样,通过先升频插值再降频对齐,精准生成每小时整点(如 15:00、16:00)的线性插值温度值。

在实际时间序列分析中,传感器数据常以近似但不精确的时间间隔采集(例如每小时 51 分记录),而下游任务(如可视化、建模或与标准气象产品对齐)往往要求严格对齐到整点(如 15:00, 16:00)。直接使用 df.resample('H').first().interpolate('linear') 并不能达到预期效果——因为 .first() 会丢失原始时间信息,导致插值失去时序依据;而 .interpolate() 在降频后应用,已无足够密度支撑准确线性拟合。

正确策略是 “升频→插值→降频”三步法

  1. 升频(Upsample):将原始数据重采样至高频率(如分钟级 'T' 或 '1min'),用 .first() 获取每个分钟桶内的首个观测值(此时多数分钟为空,产生大量 NaN);
  2. 插值(Interpolate):在密集的时间索引上执行 interpolate(method='linear'),利用原始时间戳的精确位置进行等距线性插值;
  3. 降频(Downsample):再以小时为单位重采样('H'),并用 .asfreq() 直接提取整点时刻的值(而非聚合),确保结果严格落在 HH:00:00。

以下是完整可运行示例:

import pandas as pd

# 构造示例数据(注意:时间列需转为 datetime 并设为索引)
data = {
    'Date Time, GMT-08:00': ['10/31/23 15:51', '10/31/23 16:51', 
                             '10/31/23 17:51', '10/31/23 18:51',
                             '10/31/23 19:51', '10/31/23 20:51', 
                             '10/31/23 21:51'],
    'Temp, °C': [13.41, 7.49, 7.61, 7.39, 7.34, 7.33, 7.38]
}
df = pd.DataFrame(data)

# 关键预处理:解析时间、设为索引
df['Date Time, GMT-08:00'] = pd.to_datetime(
    df['Date Time, GMT-08:00'], 
    format='%m/%d/%y %H:%M'
)
df = df.set_index('Date Time, GMT-08:00')

# ✅ 正确流程:升频 → 插值 → 降频 → 取频点
result = (df
          .resample('T').first()           # 升频至分钟级,保留原始观测点
          .interpolate(method='linear')    # 在连续分钟索引上线性插值
          .resample('H').asfreq())         # 降频至小时级,取每小时首分钟(即 HH:00:00)

print(result)

输出结果:

                      Temp, °C
Date Time, GMT-08:00          
2025-10-31 15:00:00        NaN
2025-10-31 16:00:00    12.5220
2025-10-31 17:00:00     7.5080
2025-10-31 18:00:00     7.5770
2025-10-31 19:00:00     7.3825
2025-10-31 20:00:00     7.3385
2025-10-31 21:00:00     7.3375
⚠️ 注意事项:首行 15:00 为 NaN,因原始最早数据在 15:51,无法向前提取整点值(可结合 limit_direction='forward' 或 fill_value 处理边界);若原始时间跨度大、精度要求高,可改用 'S'(秒级)升频提升插值平滑度;.asfreq() 保证输出严格对齐整点;若需聚合(如取均值),应改用 .mean(),但会损失插值意义;所有操作均基于索引的时间语义,务必确保 datetime 索引已正确设置且无时区歧义(必要时用 .dt.tz_localize() / .dt.tz_convert() 统一时区)。

该方法兼顾物理合理性与工程实用性,是处理非均匀采样气象、IoT 或金融时间序列的标准实践。


# 金融  # pandas  # iot  # 传感器  # 插值  # 每小时  # 设为  # 落在  # 而非  # 但不  # 首个  # 能达到  # 如何使用  # 或与 


相关文章: 早安海报制作网站推荐大全,企业早安海报怎么每天更换?  建站与域名管理如何高效结合?  如何通过IIS搭建网站并配置访问权限?  商务网站制作工程师,从哪几个方面把握电子商务网站主页和页面的特色设计?  高端智能建站公司优选:品牌定制与SEO优化一站式服务  如何通过wdcp面板快速创建网站?  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  建站之星好吗?新手能否轻松上手建站?  小建面朝正北,A点实际方位是否存在偏差?  北京网站制作公司哪家好一点,北京租房网站有哪些?  如何通过西部数码建站助手快速创建专业网站?  北京专业网站制作设计师招聘,北京白云观官方网站?  广州网站设计制作一条龙,广州巨网网络科技有限公司是干什么的?  图册素材网站设计制作软件,图册的导出方式有几种?  青岛网站建设如何选择本地服务器?  简历在线制作网站免费,免费下载个人简历的网站是哪些?  建站主机CVM配置优化、SEO策略与性能提升指南  如何续费美橙建站之星域名及服务?  网站制作公司广州有几家,广州尚艺美发学校网站是多少?    如何选择域名并搭建高效网站?  杭州银行网站设计制作流程,杭州银行怎么开通认证方式?  网站app免费制作软件,能免费看各大网站视频的手机app?  微信小程序制作网站有哪些,微信小程序需要做网站吗?  视频网站app制作软件,有什么好的视频聊天网站或者软件?  建站之星如何快速解决建站难题?  网站制作服务平台,有什么网站可以发布本地服务信息?  外贸公司网站制作哪家好,maersk船公司官网?  如何在万网自助建站平台快速创建网站?  如何实现建站之星域名转发设置?  武清网站制作公司,天津武清个人营业执照注销查询系统网站?  制作网站的公司有哪些,做一个公司网站要多少钱?  实现点击下箭头变上箭头来回切换的两种方法【推荐】  如何用美橙互联一键搭建多站合一网站?  北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?  已有域名能否直接搭建网站?  定制建站方案优化指南:企业官网开发与建站费用解析  测试制作网站有哪些,测试性取向的权威测试或者网站?  免费视频制作网站,更新又快又好的免费电影网站?  如何确保FTP站点访问权限与数据传输安全?  Android滚轮选择时间控件使用详解  制作网站公司那家好,网络公司是做什么的?  云南网站制作公司有哪些,云南最好的招聘网站是哪个?  ,有什么在线背英语单词效率比较高的网站?  全景视频制作网站有哪些,全景图怎么做成网页?  网站制作公司排行榜,抖音怎样做个人官方网站  如何在云服务器上快速搭建个人网站?  北京的网站制作公司有哪些,哪个视频网站最好?  建站之星安装后界面空白如何解决?  网站制作的步骤包括,正确网址格式怎么写? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。