首页 > 解决方案 > 规范化包含 JSON 的数据框列

问题描述

我有以下数据集:

Col 1 | Col 2 | JSONBlob                                        
0     |A      |{"$type":"XYZ, X.Domain","CategoryList":"PC","ListId":"GroceryStore","FactorDescription":"Groceries",

JSONBlob列是数据框中唯一包含 JSON 结构化数据的列。

我是 Python 新手,但我想将这一列标准化为多列。似乎有具有关联值的键,即。"ListID": "GroceryStore".

我只是不确定从哪里开始,我在 StackOverflow 中查看了其他一些类似的问题,但它们通常处理包含 JSON 的整个数据帧,而我只有一列。

我正在从 excel 导入这个数据集,所以我可以在 excel 中执行文本到列功能来准备数据,但我想提高我的 Python 技能

标签: jsonpandas

解决方案


分别解析 JSON,然后加入原始帧:

blobs = []
for index, row in df.iterrows():
    b = row['JSONBlob']
    blobs.append(pd.json_normalize(b))

blobs = pd.concat(blobs)
df = df.join(blobs)

推荐阅读