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

如何在Python Pandas中基于id合并另一DataFrame的指定列?

解决方法:只合并指定列到df1

嘿,这个需求很容易实现!你只需要在合并操作前,先把df2裁剪成仅包含连接键id和你想要的sal、deg列的子集,再和df1合并就可以了——毕竟原来的代码会把df2的所有列都带进来,我们只需要提前“过滤”掉不需要的add列就行。

修改后的代码(两种写法任选其一)

  1. 先创建df2的子集,再合并:
# 先提取df2中需要的列(必须包含id作为连接键)
df2_selected = df2[['id', 'sal', 'deg']]
# 执行合并操作,保留原有的right join逻辑
df_right = pd.merge(df1, df2_selected, how='right', on='id')
  1. 直接在merge中嵌套列筛选,更简洁:
df_right = pd.merge(df1, df2[['id', 'sal', 'deg']], how='right', on='id')

小提示

  • 一定要保留id列在df2的子集中,不然pd.merge会因为找不到连接键而报错哦!
  • 你用的how='right'会保留df2中所有的id记录,如果df1里没有对应的id,那df1的列会显示NaN;如果想保留df1的所有记录,可以改成how='left'。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:59:58