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

如何从CSV提取嵌套列并添加至DataFrame

问题解决:提取CSV嵌套键值对为DataFrame新列

需求说明

  • 处理多列CSV文件,其中labels_stats列存储嵌套键值对数据,格式示例:color=123,brightness=16,多组键值对以空格分隔,每组内键与值用逗号分隔
  • 需要将这些嵌套的键值对提取为DataFrame的新列,新列命名规则为键名+对应color值,比如color123、brightness123

此前问题

尝试过其他方案,但只能提取第一组color相关的属性,无法获取其他组的属性

可行代码实现

# 提取labels_stats列并扁平化处理
df1 = (df.pop('labels_stats').str.split().explode()
         .str.extractall(r'(?P<key>[^=]+)=(?P<val>[^,]+),?')
         .droplevel('match'))

# 为键名添加对应的color数值后缀
df1['key'] += df1['val'].where(df1['key'] == 'color').ffill().astype(str)

# 重塑数据结构,匹配原DataFrame的索引
df1 = df1.pivot_table(index=df1.index, columns='key', values='val', 
sort=False, aggfunc='first')

# 合并原数据与新生成的列,得到最终结果
out = pd.concat([df, df1], axis=1)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 05:27:14