gpt4 book ai didi

python - 在 Pandas 中将嵌套 JSON 数据作为数据帧访问

转载 作者:行者123 更新时间:2023-12-01 05:16:04 26 4
gpt4 key购买 nike

我有以下数据

{ "results": [
{
"company": "XYZ",
"createdAt": "2014-03-27T23:21:48.758Z",
"email": "abc@gmail.com",
"firstName": "abc",
"lastName": "xyz",
"linkedinAccount": "",
"location": "",
"profilePicture": {
"__type": "File",
"name": "ab0e-profilePicture",
"url": "url.url.com"
},
"registrationGate": "normal",
"telephone": "",
"title": "AA",
"updatedAt": "2014-03-27T23:24:20.220Z",
"username": "abc@gmail.com",
"zipcode": "00000"
}
]
}

我使用以下代码导入json数据

import json
import pandas as pd

from pandas import DataFrame
json_data = pd.read_json('data.json')

print json_data[:2]

这会打印

results
0 {u'linkedinAccount': u'', u'username': u'abc...
1 {u'linkedinAccount': u'zxcflcnv', u'username...

[2 rows x 1 columns]

当我尝试使用

打印列时
print df['linkedinAccount']

我收到以下错误

KeyError: u'no item named linkedinAccount'

如何根据列名称访问数据框中的数据?

最佳答案

不确定您的多个观察结果是如何在 json 中组织的。但很明显,导致问题的原因是 "profilePicture" 字段有一个嵌套结构。因此,每个观察结果都表示为嵌套字典。您需要将每个观察结果转换为数据帧,并将它们连接到最终的数据帧中,如本解决方案所示。

In [3]:
print df
results
0 {u'linkedinAccount': u'', u'username': u'abc@g...
1 {u'linkedinAccount': u'', u'username': u'abc@g...

[2 rows x 1 columns]
In [4]:
print pd.concat([pd.DataFrame.from_dict(item, orient='index').T for item in df.results])


linkedinAccount username registrationGate firstName title lastName \
0 abc@gmail.com normal abc AA xyz
0 abc@gmail.com normal abc AA xyz

company telephone profilePicture \
0 XYZ {u'url': u'url.url.com', u'__type': u'File', u...
0 ABC {u'url': u'url.url.com', u'__type': u'File', u...

location updatedAt email createdAt \
0 2014-03-27T23:24:20.220Z abc@gmail.com 2014-03-27T23:21:48.758Z
0 2014-03-27T23:24:20.220Z abc@gmail.com 2014-03-27T23:21:48.758Z

zipcode
0 00000
0 00000

[2 rows x 14 columns]

那么您可能需要考虑如何处理profilePicture列。您可以执行@U2EF1 在链接中建议的操作。但我可能会将该列分成三列 pfPIC_urlpfPIC_typepfPIC_name

关于python - 在 Pandas 中将嵌套 JSON 数据作为数据帧访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23208197/

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