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

如何从Pandas Series生成带双引号的列表?格式问题求助

解决方法

首先纠正你代码里的问题:你先对df["NAME"]做了str.split(","),这时候该列的元素已经是Python列表了,再循环调用.split(",")会报错(因为列表没有split方法),而且你要的带引号的列表其实是字符串形式的列表(Pandas里原生列表显示时不带引号,但如果要输出成带引号的格式,需要把列表转成字符串)。

正确步骤:

  1. 先把原始字符串分割成干净的列表(去掉元素前后的空格)
  2. 将每个列表转成带双引号的字符串格式

完整代码:

# 第一步:分割字符串并去除每个元素的空格
df["NAME"] = df["NAME"].str.split(",").apply(lambda lst: [s.strip() for s in lst])
# 第二步:把列表转成带双引号的字符串形式
df["NAME"] = df["NAME"].apply(lambda lst: f'["{"", ".join(lst)}"]')

效果验证:

运行后你的DataFrame会输出:

0. ["Mike", "Jean"]
1. ["May", "Weather"]
2. ["Jack", "100"]

补充说明:

  • 如果你的分割符是, (逗号加空格),可以直接用str.split(", ")代替第一步的split加strip,更高效:
    df["NAME"] = df["NAME"].str.split(", ").apply(lambda lst: f'["{"", ".join(lst)}"]')
    
  • 作为Pandas新手要注意:尽量避免用循环遍历Series,用apply或者矢量化操作更符合Pandas的设计逻辑,效率也更高。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 02:45:20