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

如何将['a']['b']['c']格式转为['a','b','c']并新增列存储

处理单个元素列表组合并生成新列

情况1:原始数据是字符串格式(如['a']['b']['c'])

如果你的数据是以字符串形式存储的这种组合,用正则表达式提取元素最稳妥,能避免字符串替换可能出现的边界问题:

import pandas as pd
import re

# 示例数据
df = pd.DataFrame({'raw_data': ["['a']['b']['c']", "['x']['y']['z']"]})

# 定义转换函数:提取所有单引号包裹的内容
def parse_string(s):
    return re.findall(r"'(.*?)'", s)

# 生成新列
df['formatted_list'] = df['raw_data'].apply(parse_string)

运行后formatted_list列的每行就是['a','b','c']这类标准列表。

情况2:原始数据是嵌套的单个元素列表(如[['a'], ['b'], ['c']])

如果数据本身就是列表嵌套结构,直接用列表推导式扁平化即可:

import pandas as pd

# 示例数据
df = pd.DataFrame({'raw_data': [[['a'], ['b'], ['c']], [['x'], ['y']]]})

# 生成新列:取出每个子列表的第一个元素
df['formatted_list'] = df['raw_data'].apply(lambda nested: [item[0] for item in nested])

验证结果

处理后执行print(df)可查看效果,比如第一种情况的输出为:

raw_data formatted_list
0  ['a']['b']['c']      [a, b, c]
1  ['x']['y']['z']      [x, y, z]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 05:54:23