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

Python中合并DataFrame重复CP值的行(无需聚合函数)

解决方法

你可以通过groupby配合自定义lambda函数实现需求,因为CL列本身已是列表类型,直接用'list'聚合可能因pandas默认处理逻辑报错,改用lambda函数收集分组内的列表元素即可:

df_new = df.groupby('CP', as_index=False)['CL'].agg(lambda x: list(x))

代码说明

  • as_index=False:确保CP作为普通列保留,而非转为索引,与你期望的结果结构一致
  • lambda x: list(x):将分组内的每个CL列表元素收集到一个大列表中,生成嵌套列表格式

效果验证

原始DataFrame:

CP                 CL
0    45538         [757, 1]
1     5548      [712515, 1]
2     7908          [251, 3]
3     7908         [7885, 1]

执行代码后得到的结果:

CP                     CL
0    45538             [757, 1]
1     5548          [712515, 1]
2     7908  [[251, 3], [7885, 1]]

完全匹配你的期望输出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 02:45:01