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

如何从含多值字段的JSON对象创建自定义列名的Pandas DataFrame

实现代码

你可以通过Pandas的explode方法拆分嵌套的price字段,配合列拆分即可得到目标结构,完整代码如下:

import pandas as pd

# 原始数据(注意你给出的是Python字典格式,不是标准JSON,标准JSON要求双引号且不能有注释)
raw_data = {
    'id': "email@gmail.com",
    'item': ['abc', 1],  # name, id
    'supply': '23FEG',
    'price': [[1, 100], [2, 150], [5, 400]],  # quantity, price
}

# 第一步:构造包含公共字段和price列表的基础DataFrame
df = pd.DataFrame([{
    "email": raw_data["id"],
    "item_name": raw_data["item"][0],
    "supply": raw_data["supply"],
    "price_group": raw_data["price"]
}])

# 第二步:将price_group按元素拆分为多行
df = df.explode("price_group", ignore_index=True)

# 第三步:拆分每组price值为quantity和price两列
df[["quantity", "price"]] = pd.DataFrame(df["price_group"].tolist(), index=df.index)

# 第四步:删除辅助列得到最终结果
df = df.drop(columns="price_group")

# 输出查看结果
print(df)

输出效果

运行上述代码后得到的DataFrame和你要求的预期结果完全一致:

email item_name supply  quantity  price
0  email@gmail.com       abc  23FEG         1    100
1  email@gmail.com       abc  23FEG         2    150
2  email@gmail.com       abc  23FEG         5    400

适配说明

就算price字段包含的数值组数量有变化,代码也可以自动适配,不需要修改逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 15:45:04