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

在Pandas中对行分组:将DataFrame的Description转为嵌套列表

实现分组后生成嵌套列表的解决方案

你说得没错,直接用df.groupby('ID')['Description'].apply(list)只会把每个分组的元素拼成一层列表,要得到每个元素都是单元素子列表的嵌套结构,只需要对apply的逻辑做个小调整就行。

具体实现步骤

  1. 先构造你的示例DataFrame(方便复现):
import pandas as pd

df = pd.DataFrame({
    'ID': [1, 1, 1, 2, 2, 3],
    'Description': ['A', 'B', 'C', 'A', 'C', 'A']
})
  1. 使用带lambda的apply处理分组:
result_df = df.groupby('ID')['Description'].apply(lambda group: [[item] for item in group]).reset_index()

代码解释

这里的lambda group: [[item] for item in group]会遍历每个分组里的Description值,把每个单独的元素(比如"A")包装成一个单元素列表["A"],最后所有单元素列表会被组合成一个大列表,完美匹配你想要的嵌套结构。

输出结果

运行后result_df的内容就是:

ID          Description
0   1  [['A'], ['B'], ['C']]
1   2        [['A'], ['C']]
2   3              [['A']]

另外,你也可以用agg方法替代apply,效果完全一致:

result_df = df.groupby('ID')['Description'].agg(lambda x: [[i] for i in x]).reset_index()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:48:42