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

DataFrame分组后如何将各行的列表拼接为一个完整的总列表

错误原因

你当前代码报错是因为对Id列(Series类型)调用apply方法时,lambda函数接收的参数x是每行的列表元素,而非DataFrame或Series对象,不存在values属性,因此触发属性错误。

解决方案

方案1:小数据量快速实现

数据量较小时直接调用Series的sum方法即可,Python列表相加默认执行拼接逻辑:

# df是你分组后得到的DataFrame对象
total_id_list = df['Id'].sum()

方案2:大数据量高性能实现

数据量较大时推荐用itertools.chain处理,避免多次内存拷贝,性能远高于sum方法:

import itertools

total_id_list = list(itertools.chain.from_iterable(df['Id']))

方案3:numpy实现

如果你想沿用numpy的拼接逻辑,不需要使用apply,直接传入整个Id列的取值即可:

import numpy as np

total_id_list = np.concatenate(df['Id']).tolist()

以上方案运行后均可得到你需要的扁平格式总列表。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 05:36:01