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

Pandas中按Name列合并不同行ID列且不删除任何行的实现方案

实现方法

核心采用groupby()+transform()的组合实现,transform方法会保留原数据的所有行,仅对同一分组内的所有行返回相同的聚合结果,刚好匹配不删除原有行的需求。

完整代码示例

import pandas as pd

# 构造示例DataFrame
df = pd.DataFrame({
    'Name': ['John', 'John', 'Lucy'],
    'ID': ['ABC', 'XYZ', 'MNO']
})

# 核心逻辑:按Name分组后拼接同组所有ID,直接赋值给ID列
df['ID'] = df.groupby('Name')['ID'].transform(lambda x: ', '.join(x))

# 输出结果查看
print(df)

输出结果

NameID
JohnABC, XYZ
JohnABC, XYZ
LucyMNO

注意事项

  • 如果ID列是数值类型,需要先转字符串再拼接,将lambda逻辑调整为lambda x: ', '.join(x.astype(str))即可
  • 若需要保留原始ID列,只需将赋值的目标列改为新列名(比如df['merged_ID']),不会覆盖原有数据

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.18 13:06:08