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

如何按Name列去重并合并对应Occupation列字符串?

解决方案

可以通过 Pandas 的 groupby 配合聚合函数实现需求,具体步骤如下:

1. 构造原始 DataFrame

先还原你提供的原始数据:

import pandas as pd

df = pd.DataFrame({
    'Name': ['Jack', 'Alice', 'Jack', 'Cathy'],
    'center': ['Miami', 'Tx', 'San Jose', 'Houston'],
    'Occupation': ['Clerk', 'Manager', 'PO', 'Security']
})

2. 分组聚合处理

按 Name 列分组,对 center 保留每组第一个出现的值,对 Occupation 用空格拼接所有对应字符串:

result_df = df.groupby('Name', as_index=False).agg(
    center=('center', 'first'),
    Occupation=('Occupation', ' '.join)
)

3. 最终结果

执行后得到的 result_df 与你期望的格式一致:

NamecenterOccupation
AliceTxManager
CathyHoustonSecurity
JackMiamiClerk PO

代码说明

  • groupby('Name', as_index=False):按 Name 分组,同时保持原列结构,不将分组列设为索引
  • agg():为不同列指定聚合规则,('center', 'first') 取每组 center 列的首个值,('Occupation', ' '.join) 用空格拼接每组所有 Occupation 字符串

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 03:01:21