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

如何将pandas列中的单值列表转换为字符串以便进行groupby聚合

你写的转换代码把提取出的元素又重新封装成了列表,所以格式没有变化,去掉外层的方括号即可。

正确转换方法

方法1:用pandas内置访问器(最高效)

直接使用列表列的str访问器提取首个元素,无需写自定义apply逻辑:

df['index'] = df['index'].str[0]

方法2:带空值兼容的apply写法

如果存在部分列表为空的情况,可以加判断避免索引报错:

import pandas as pd
df['index'] = df['index'].apply(lambda lst: lst[0] if len(lst) > 0 else pd.NA)
后续聚合操作

转换完成后index列会变为普通的字符串/数值类型,直接执行groupby聚合即可,比如对count列求和:

res_df = df.groupby('index', as_index=False)['count'].sum()
验证转换结果

你可以执行以下代码确认列类型已经修改:

print(df['index'].apply(type).unique())
# 正常输出应该包含 <class 'str'> 等非列表类型,不再出现 <class 'list'>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 04:57:03