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

如何将Pandas DataFrame列中的句子列表拆分为独立的列

实现方法

核心原因说明

你之前使用Series.str.split()未成功的核心原因是:当前存储的是字符串格式的列表文本,并非真正的Python列表对象,直接拆分需要额外处理首尾括号、元素前后的引号等冗余字符,更稳妥的方案是先完成格式转换再拆分列。

推荐实现代码(最稳妥)

使用Python标准库ast的literal_eval方法安全解析字符串为真实列表,不会受句子内部的分隔符、特殊字符影响:

import pandas as pd
import ast

# 你的原始数据
d ={1: "['f, they have everything i am looking for.', 'd has a lot of diffrent options, and they carry every size needed.', 'q, i always find what I am looking for']", 
     2: "['easy to navigate', 'fast and easy to use. very helpful when needed, would recommend! will definitely use in future', 'easy to use, very convenient']"
   }
s = pd.Series(d)

# 解析字符串为真实列表
parsed_list = s.apply(ast.literal_eval)

# 转换为目标DataFrame,可保留原始索引
df = pd.DataFrame(
    parsed_list.tolist(),
    columns=['rep1', 'rep2', 'rep3'],
    index=s.index # 不需要保留原始索引可删除这一行
)

可选轻量方案(无需额外导库)

如果你的数据格式100%规整,也可以直接用字符串处理实现:

# 去除首尾括号后按列表元素分隔符拆分
df = s.str.strip("[]").str.split("', '", expand=True)
# 清除每个元素残留的引号和空格
df = df.apply(lambda col: col.str.strip("' "))
# 重命名列
df.columns = ['rep1', 'rep2', 'rep3']

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 16:42:01