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

Pandas DataFrame清洗:拆分SKU列嵌套数据为多行得到目标表df_1

pandas 嵌套SKU列拆分清洗方案

处理逻辑

  • 先统一处理SKU列的无效值(空字符串、字符串NaN),避免JSON解析报错
  • 对合法的JSON格式SKU内容做解析,提取所有Result字段的值
  • 用explode方法将SKU列表拆分为多行
  • 最终筛选保留ID、SKU、NOTES三个目标列

完整实现代码

import pandas as pd
import json

# 构造原始DataFrame,若你已生成df可跳过此段
df = pd.DataFrame([[1,'NaN','abj','1/1/2021'],
               [2,'[{"Result":"00018"},{"Result":"00065"}]','abj','1/1/2021'],
               [3,'','abj','1/1/2021']],
                 columns = ['ID','SKU','NOTES','Date'])

# 自定义SKU解析函数
def parse_sku(sku_content):
    if sku_content in ("NaN", ""):
        return [""]
    try:
        sku_json = json.loads(sku_content)
        return [item["Result"] for item in sku_json]
    except:
        return [""]

# 执行解析、拆分操作
df["SKU"] = df["SKU"].apply(parse_sku)
df_1 = df.explode("SKU")[["ID", "SKU", "NOTES"]].reset_index(drop=True)
# 可选:将ID转为字符串格式,匹配示例目标df_1的字段类型
df_1["ID"] = df_1["ID"].astype(str)

运行后得到的df_1与你给出的目标结构完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 00:45:01