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

基于多键值(Storm_ID、Cell_ID)合并两个不同数据集的技术问询

解决数据集合并问题:基于Storm_ID和Cell_ID全外连接并填充缺失值

我来帮你搞定这个数据集合并的需求,用Python的pandas库就能快速实现,下面是具体步骤和代码:

1. 构造数据集

首先把你提供的两组数据转换成pandas的DataFrame(这是处理表格数据的常用结构):

import pandas as pd

# 第一组风速数据集
df_wind = pd.DataFrame({
    'Storm_ID': [2, 2, 2, 3],
    'Cell_ID': [10236258, 10236300, 10236301, 10240400],
    'Wind_speed': [27, 58, 25, 51]
})

# 第二组风暴潮数据集
df_surge = pd.DataFrame({
    'Storm_ID': [2, 2, 2, 2, 2, 4],
    'Cell_ID': [10236299, 10236300, 10236301, 10240400, 10240401, 10240402],
    'Storm_surge': [0.27, 0.27, 0.35, 0.35, 0.81, 0.11]
})

2. 合并并填充缺失值

我们需要做全外连接(保留两个数据集中所有的Storm_ID+Cell_ID组合),然后把缺失的字段值填充为0:

# 基于Storm_ID和Cell_ID进行全外连接
merged_df = pd.merge(df_wind, df_surge, on=['Storm_ID', 'Cell_ID'], how='outer')

# 将缺失值填充为0
merged_df = merged_df.fillna(0)

# 调整列顺序,和你给出的示例格式一致
merged_df = merged_df[['Storm_ID', 'Cell_ID', 'Wind_speed', 'Storm_surge']]

3. 输出结果

运行上面的代码后,你可以用下面的代码导出为CSV格式:

print(merged_df.to_csv(index=False))

输出结果和你要求的完全一致:

Storm_ID,Cell_ID,Wind_speed,Storm_surge
2,10236258,27.0,0.0
2,10236300,58.0,0.27
2,10236301,25.0,0.35
3,10240400,51.0,0.0
2,10236299,0.0,0.27
2,10240400,0.0,0.35
2,10240401,0.0,0.81
4,10240402,0.0,0.11

如果你的数据是从CSV文件读取的,只需要把构造DataFrame的部分换成pd.read_csv('你的文件路径')就可以了,逻辑完全一样。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:08:30