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

基于唯一值合并DataFrame:为每一经纬度对匹配小时级时间序列

Pandas双DataFrame按经纬度+时间匹配合并实现方案

前置准备

  • 提前将DF1、DF2的Date字段统一转换为datetime64类型,避免字符串格式差异导致关联匹配失败

实现步骤

  1. 提取DF2中的唯一经纬度集合
# 去重得到所有唯一经纬度对
unique_geo = DF2[['Latitude', 'Longitude']].drop_duplicates().reset_index(drop=True)
  1. 拼接唯一经纬度与DF1全量时间,得到基础宽表

核心逻辑为对唯一经纬度和DF1做笛卡尔积,保证每个经纬度都匹配到DF1的全量小时级时间+Shift字段

# pandas 1.2.0及以上版本支持cross参数直接实现笛卡尔积
base_df = unique_geo.merge(DF1, how='cross')

# 低版本pandas可使用临时列方案替代
# unique_geo['tmp'] = 1
# DF1['tmp'] = 1
# base_df = unique_geo.merge(DF1, on='tmp').drop('tmp', axis=1)
  1. 左连接匹配Temp字段
# 以经纬度、日期为关联键左连接DF2,无匹配的Temp自动填充为NaN
result_df = base_df.merge(DF2, on=['Latitude', 'Longitude', 'Date'], how='left')

结果校验

执行print(len(result_df))即可验证输出行数为299536,符合预期要求,最终输出的result_df字段顺序可按需调整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 03:54:03