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

不使用Pyspark如何提取字典列表指定字段转为dataframe独立列

解决方案(基于Pandas,符合你无法使用Pyspark的要求)

前置依赖导入

import pandas as pd
import json

第一步:提取CountryOfManufacture字段

分两种场景处理:

  • 场景1:原始DataFrame中存储字典的列已经是Python字典类型
# 请将下方的json_col替换为你实际存储字典的列名
country_col = 原始df名称['json_col'].apply(lambda x: x.get('CountryOfManufacture', None))
  • 场景2:原始DataFrame中存储字典的列为JSON字符串格式
country_col = 原始df名称['json_col'].apply(lambda x: json.loads(x).get('CountryOfManufacture', None))

第二步:将提取的字段添加到目标DataFrame

# 请将下方的目标df名称替换为你要新增字段的DataFrame名称
# 需保证原始df和目标df行数一致、索引对应,避免数据错位
目标df名称['CountryOfManufacture'] = country_col

可选批量处理方案

如果你后续需要提取JSON中的多个字段,可以用pd.json_normalize一键解析所有JSON字段:

# 解析所有JSON字段生成单独的DataFrame
json_parse_df = pd.json_normalize(原始df名称['json_col'])
# 合并需要的字段到目标DataFrame
目标df名称 = pd.concat([目标df名称, json_parse_df[['CountryOfManufacture']]], axis=1)

注意事项

  • 代码中get方法的第二个参数None是默认填充值,若某行数据没有CountryOfManufacture字段会自动填充空值,不会触发报错
  • 若两个DataFrame索引不匹配,可以先把提取到的country_col转成列表再赋值,确保行对应关系正确

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 01:06:03