gpt4 book ai didi

json - pandas json_normalize 展平嵌套字典

转载 作者:行者123 更新时间:2023-12-05 01:19:03 25 4
gpt4 key购买 nike

我正在尝试使用 json_normalize 来展平嵌套字典。我的数据是这样的:

data = [
{'gra': [
{
'A': 1,
'B': 9,
'C': {'D': '1', 'E': '1'},
'date': '2019-06-27'
}
]},
{'gra': [
{
'A': 2,
'B': 1,
'C': {'D': '1', 'E': '2'},
'date': '2019-06-27'
}
]},
{'gra': [
{
'A': 6,
'B': 1,
'C': {'D': '1', 'E': '3'},
'date': '2019-06-27'
}
]}
]

我想得到这样的数据框:

A   B    C.D   C.E       date
1 9 1 1 2019-06-27
2 1 1 2 2019-06-27
6 1 1 3 2019-06-27

我在 json_normalize 中尝试了 record_pathmeta,但它一直给我一个错误。

你是如何做到这一点的?

最佳答案

json_normalize does a pretty good job of flatting the object into a pandas dataframe:

from pandas.io.json import json_normalize
json_normalize(sample_object)
from pandas.io.json import json_normalize
data_ = [item['gra'][0] for item in data] # [{'A': 1, 'B': 9, 'C': {'D': '1', 'E': '1'}, 'date': '2019-06-27'}, {'A': 2, 'B': 1, 'C': {'D': '1', 'E': '2'}, 'date': '2019-06-27'}, {'A': 6, 'B': 1, 'C': {'D': '1', 'E': '3'}, 'date': '2019-06-27'}]

print (json_normalize(data_))

输出:

   A  B C.D C.E        date
0 1 9 1 1 2019-06-27
1 2 1 1 2 2019-06-27
2 6 1 1 3 2019-06-27

关于json - pandas json_normalize 展平嵌套字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56901091/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com