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

如何在pandas中将普通数据列转换为列表列?

错误原因

你原先使用的df['popular_tags'] = df['popular_tags'].to_list()逻辑是将整个popular_tags列的所有行值合并为一个大列表,再将该大列表逐行重复赋值回列,无法实现单行字符串转列表的需求。

解决方案

你当前每行内容是符合Python列表元素格式的逗号分隔字符串,推荐两种可靠实现方式:

方法1:使用ast.literal_eval(优先推荐)

该方法直接将符合Python字面量规则的字符串转换为对应数据类型,不需要手动处理分隔符和引号,容错率更高:

import ast
df['popular_tags'] = df['popular_tags'].apply(ast.literal_eval)

方法2:使用str.split手动处理

如果你的字符串格式规则简单,也可以手动分割后清理多余符号:

# 先按逗号+可选空格分割,再逐个清理元素两端的单引号
df['popular_tags'] = df['popular_tags'].str.split(',\s*').apply(lambda x: [item.strip("'") for item in x])

验证转换结果

执行转换后可通过如下代码确认格式正确:

print(type(df.loc[0, 'popular_tags']))
# 预期输出:<class 'list'>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 23:36:03