基于Site #匹配为不同长度数据表新增坐标列的实现方法
实现方法(基于Python Pandas)
完全可以实现,下面是最常用的实操方案:
步骤1:导入依赖并读取数据表
假设你的表是CSV格式(如果是Excel或其他格式,替换对应的读取方法即可):
import pandas as pd # 读取两张表 coord_df = pd.read_csv("OutputDataWrangle2.csv") daily_df = pd.read_csv("outputDataDaily.csv")
步骤2:按Site #匹配并合并坐标列
用merge方法将坐标表的经度、纬度匹配到每日数据表中:
# 左连接保留daily_df的所有行,即使部分站点没有匹配到坐标(按需可改为inner只保留匹配成功的行) result_df = daily_df.merge(coord_df[['Site #', 'Longitude', 'Latitude']], on='Site #', how='left')
步骤3:导出结果
将带坐标的新表保存:
result_df.to_csv("outputDataDaily_with_coords.csv", index=False)
额外场景处理
- 如果两张表的站点列名不一致,比如coord_df里叫
Site_ID,daily_df里叫Site #,可以指定匹配列:result_df = daily_df.merge(coord_df[['Site_ID', 'Longitude', 'Latitude']], left_on='Site #', right_on='Site_ID', how='left') - 如果你用SQL处理数据库中的表,也可以用JOIN语句:
SELECT d.*, w.Longitude, w.Latitude FROM outputDataDaily d LEFT JOIN OutputDataWrangle2 w ON d.`Site #` = w.`Site #`;
内容的提问来源于stack exchange,提问作者Matt
相关产品推荐
相关产品推荐

