全网整合营销服务商

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

免费咨询热线: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  # 传感器  # 插值  # 每小时  # 设为  # 落在  # 而非  # 但不  # 首个  # 能达到  # 如何使用  # 或与 


相关文章: 整蛊网站制作软件,手机不停的收到各种网站的验证码短信,是手机病毒还是人为恶搞?有这种手机病毒吗?  相亲简历制作网站推荐大全,新相亲大会主持人小萍萍资料?  已有域名和空间如何快速搭建网站?  济南专业网站制作公司,济南信息工程学校怎么样?  电商平台网站制作流程,电商网站如何制作?  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  如何安全更换建站之星模板并保留数据?  网站制作网站,深圳做网站哪家比较好?  网页设计网站制作软件,microsoft office哪个可以创建网页?  建站之星图片链接生成指南:自助建站与智能设计教程  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  较简单的网站制作软件有哪些,手机版网页制作用什么软件?  Android滚轮选择时间控件使用详解  教学网站制作软件,学习*后期制作的网站有哪些?  C++时间戳转换成日期时间的步骤和示例代码  活动邀请函制作网站有哪些,活动邀请函文案?  建站之星云端配置指南:模板选择与SEO优化一键生成  武汉外贸网站制作公司,现在武汉外贸前景怎么样啊?  ,如何利用word制作宣传手册?  天津个人网站制作公司,天津网约车驾驶员从业资格证官网?  如何在局域网内绑定自建网站域名?  山东网站制作公司有哪些,山东大源集团官网?  安徽网站建设与外贸建站服务专业定制方案  高性能网站服务器配置指南:安全稳定与高效建站核心方案  建站之星如何修改网站生成路径?  动图在线制作网站有哪些,滑动动图图集怎么做?  如何优化Golang Web性能_Golang HTTP服务器性能提升方法  网站建设设计制作营销公司南阳,如何策划设计和建设网站?  如何通过VPS建站无需域名直接访问?  购物网站制作公司有哪些,哪个购物网站比较好?  太原网站制作公司有哪些,网约车营运证查询官网?  网站制作公司排行榜,抖音怎样做个人官方网站  建站主机服务器选型指南与性能优化方案解析  制作网站公司那家好,网络公司是做什么的?  大连网站制作公司哪家好一点,大连买房网站哪个好?  建站主机如何选?性能与价格怎样平衡?  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  为什么Go需要go mod文件_Go go mod文件作用说明  宝塔建站助手安装配置与建站模板使用全流程解析  个人摄影网站制作流程,摄影爱好者都去什么网站?  如何在阿里云香港服务器快速搭建网站?  武汉网站制作费用多少,在武汉武昌,建面100平方左右的房子,想装暖气片,费用大概是多少啊?  网站制作软件免费下载安装,有哪些免费下载的软件网站?  电脑免费海报制作网站推荐,招聘海报哪个网站多?  如何选择PHP开源工具快速搭建网站?  如何选择美橙互联多站合一建站方案?  网站制作费用多少钱,一个网站的运营,需要哪些费用?  自助网站制作软件,个人如何自助建网站?  C++如何编写函数模板?(泛型编程入门)  制作网站的模板软件,网站怎么建设? 

您的项目需求

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