json - 规范化包含 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 技能
解决方案
分别解析 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)
推荐阅读
- karate - 如何在 parm 请求中传递一个字符串并在我的请求路径中循环它而不保存到文件和创建表
- swift - 发送 JSON 数组作为参数 Alamofire
- ajax - Jaxon 不会在响应中返回任何内容
- go - Golang 在处理函数之外获取请求
- json - 如何使用python删除json中不需要的分隔符
- flutter - flutter schedule功能本地通知不起作用,有谁知道可能是什么?
- matlab - 为什么变量在Matlab中不取负值?
- apache-kafka - 为什么我的 Kafka 连接接收器集群只有一个工作人员处理消息?
- java - 在 when().thenReturn() 返回的对象上调用方法
- ruby-on-rails - 浏览器中的 NoMethodError 但在控制台中工作