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

如何合并两个含关联值的DataFrame:关联发送者与员工信息

合并消息发送者与员工信息DataFrame

核心方法:使用pandas的merge()函数

pandas的merge()是处理DataFrame关联合并的标准工具,我们只需将消息DataFrame的sender列与员工信息DataFrame的id列作为关联键,即可完成数据合并。

示例代码

假设你的两个DataFrame分别为:

  • df_messages:存储消息数据,包含sender列(对应员工ID)
  • df_employees:存储员工个人信息,首列为id(员工ID),另有department、age等字段
import pandas as pd

# 替换为你的真实数据
df_messages = pd.DataFrame({
    'sender': [79, 79, 80],
    'message_content': ['项目进度同步', '需求细节确认', '部门会议通知']
})

df_employees = pd.DataFrame({
    'id': [79, 80, 81],
    'department': ['研发部', '市场部', '人事部'],
    'age': [32, 28, 40]
})

# 执行合并:以sender和id为关联键
merged_result = pd.merge(
    df_messages,
    df_employees,
    left_on='sender',  # 左表关联列
    right_on='id',     # 右表关联列
    how='left'         # 左连接:保留所有消息记录,无匹配员工信息的行补NaN
)

# 可选:删除重复的id列(sender与id内容一致)
merged_result = merged_result.drop('id', axis=1)

print(merged_result)

关键参数说明

  • how='left':若需保留所有消息记录(即使部分sender无对应员工信息),用左连接;若仅保留两边匹配成功的记录,使用默认的how='inner'即可。
  • left_on/right_on:明确指定两个DataFrame用于关联的列名,适配两表列名不同的场景。

合并后效果

最终输出会将每条消息与对应发送者的部门、年龄等信息关联,示例结果如下:

sendermessage_contentdepartmentage
79项目进度同步研发部32
79需求细节确认研发部32
80部门会议通知市场部28

内容的提问来源于stack exchange,提问作者Orhan Dağ

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 13:15:33