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

如何按ID将DataFrame间的值复制应用到对应分组的所有行?

用Pandas快速实现一对多数据合并

看起来你需要把DF2里每个参与者的单行补充数据,批量映射到DF1对应参与者的所有观测行里——这在数据分析里是非常常见的一对多合并场景,用Pandas的merge方法就能轻松搞定,具体步骤如下:

1. 先确保导入Pandas

如果还没导入库的话,先执行这行:

import pandas as pd

2. 执行左连接合并

核心代码就一行,通过id列把两个DataFrame关联起来,how='left'会保证DF1的所有行都被保留,同时自动把DF2的对应字段复制到每一行:

merged_df = pd.merge(DF1, DF2, on='id', how='left')

合并后的效果

运行完上面的代码,你会得到这样的结果(用表格直观展示):

idblocktypeconditionblocknrmarkoddtaskorderexporder
1111011
1322011
1332011
2121021
2112021
2112021
3411012
3112012
3212012

补充说明

  • 之所以用how='left':是为了确保DF1里的所有观测记录都不会丢失,哪怕DF2里没有对应id的数据(当然你的案例里每个id都有匹配,不过这是通用的稳妥做法)
  • 如果两个DataFrame的id列名不一样:比如DF1里是participant_id,DF2里是id,可以用left_on和right_on分别指定关联字段:
    merged_df = pd.merge(DF1, DF2, left_on='participant_id', right_on='id', how='left')
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 08:32:00