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

基于ID和visit匹配,用df2值替换df1对应weight字段的实现方法问询

数据集合并替换实现方案

核心逻辑

以IDs和visit作为联合匹配键,左关联两个数据集后按需覆盖weight字段,全程保留df1的原有行结构和字段。

具体实现(基于Python Pandas)

操作步骤

  • 左关联df1和df2,仅保留df2的weight字段,设置后缀区分两个来源的weight,避免字段冲突
  • 对weight字段做取值判断:若匹配到df2的weight则用df2的值,否则保留df1的原值
  • 删除关联产生的多余字段,得到和df1结构完全一致的结果

示例代码

import pandas as pd

# 左关联两个数据集,联合匹配IDs和visit字段
df_merge = df1.merge(df2[["IDs", "visit", "weight"]], on=["IDs", "visit"], how="left", suffixes=("", "_df2"))
# 替换weight值
df_merge["weight"] = df_merge.apply(
    lambda row: row["weight_df2"] if pd.notnull(row["weight_df2"]) else row["weight"],
    axis=1
)
# 移除多余字段,得到最终结果
df3 = df_merge.drop("weight_df2", axis=1)

结果验证

  • df3的行数量、字段列表、字段顺序和原df1完全一致
  • IDs取值1-50的记录,weight值和df2完全匹配,无visit匹配错位问题
  • IDs取值51-100的记录,weight、height字段均保留df1的原始值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 12:36:04