- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我已经使用以下迭代方法:
for k, v in enumerate(my_request['content']):
for k1, v1 in enumerate(v['data']['score']):
df.loc[len(df)] = [v['tag_id'], v1['time'], v1['value']]
然而,虽然这最终达到了预期的结果,但它需要花费大量时间来遍历具有相同结构的较大文件。我假设迭代方法不是解决此类问题的理想方法。使用 pandas.io.json.json_normalize
代替,我尝试了以下操作:
result = json_normalize(my_request, ['content'], ['data', 'score', ['time', 'value']])
返回 KeyError: ("Try running with errors='ignore' as key %s is not always present", KeyError('data',))
。我相信我误解了关于 json_normalize
的 pandas 文档,并且不太清楚我应该如何传递参数。
谁能指出我正确的方向?
(或者使用 errors='ignore'
返回 ValueError: Conflicting metadata name data, need distinguishing prefix
.)
JSON 结构
{
'content':[
{
'data':{
'score':[
{
'time':'2015-03-01 00:00:30',
'value':75.0
},
{
'time':'2015-03-01 23:50:30',
'value':58.0
}
]
},
'tag_id':320676
},
{
'data':{
'score':[
{
'time':'2015-03-01 00:00:25',
'value':78.0
},
{
'time':'2015-03-01 00:05:25',
'value':57.0
}
]
},
'tag_id':320677
}
],
'meta':None,
'requested':'2018-04-15 13:00:00'
}
最佳答案
However, while this ultimately achieves the desired result, it takes a huge amount of time to iterate through larger files with the same structure.
我建议如下:
检查问题是否与您的迭代追加有关。 Pandas 不太擅长按顺序添加行。这段代码怎么样:
tups = []
for k, v in enumerate(my_request['content']):
for k1, v1 in enumerate(v['data']['score']):
tups.append(v['tag_id'], v1['time'], v1['value'])
df = pd.DataFrame(tups, columns=['tag_id', 'time', 'value])
如果前面的速度不够快,请检查它是否是 JSON 解析部分
for k, v in enumerate(my_request['content']):
for k1, v1 in enumerate(v['data']['score']):
v['tag_id'], v1['time'], v1['value']
很可能 1. 会足够快。但是,如果不是,请检查是否 ujson
对于这种情况可能会更快。
关于python - 将 json_normalize 用于带有列表的结构化多级字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49843027/
我正在使用 json_normalize 中给出的示例此处提供的文档pandas.json_normalize — pandas 1.0.3 documentation ,不幸的是,我无法粘贴我的实际
我一直在尝试规范化一个非常嵌套的json文件,稍后我将进行分析。我正在努力解决的是如何进一步深入到正常化。 我浏览了pandas.io.json.json_normalize文档,因为它完全按照我想要
我有一个需要展平的嵌套 JSON 结构。在使用 JSON 规范化时,它会展平所有键。但是,我想在保留嵌套的其他键的同时展平特定键。如何使用 JSON 规范化来实现这一点。我正在尝试做的事情的详细描述如
我有一个没有统一结构的嵌套 json 文件,如下例所示: [{ "name": "Jon", "last": "Jonny"}, {"name": "Jimmy", "last": "johnson
我正在尝试使用 json_normalize 来展平嵌套字典。我的数据是这样的: data = [ {'gra': [ { 'A': 1,
我正在使用亚马逊数据集来回答问题。 亚马逊的代码是: import pandas as pd import gzip def parse(path): g = gzip.open(path, 'r
我正在尝试创建一个 API,从 poloniex 获取历史数据,供我的神经网络用于学校项目的学习。 我得到一个json文件,但问题是poloinex_df是“空”,所有信息都在index/column
我有一个嵌套字典 (json),它是从非官方谷歌字典 API 返回的。 看起来像这样: {'word': 'slack', 'phonetic': '/slak/', 'meaning': {'a
我已经使用以下迭代方法: for k, v in enumerate(my_request['content']): for k1, v1 in enumerate(v['data']['sc
我正在分析一个 json 文件,我想将嵌套的 json 输入文件转换为 python 中的平面数据框。有没有任何 python 方法可以管理这个?或者我应该创建一个自定义函数来做到这一点?您能提供一个
假设这是我的 JSON: ds = [{ "name": "groupa", "subGroups": [{ "subGroup": 1,
我有一个如下所示的数据框: ID phone_numbers 1 [{u'updated_at': u'2017-12-02 15:29:54', u'created_at'
这个问题在这里已经有了答案: Split / Explode a column of dictionaries into separate columns with pandas (13 个答案)
此问题特定于 pandas.DataFrame 中的数据列 这个问题取决于列中的值是否为 str , dict , 或 list类型。 这个问题解决了如何处理 NaN值,当 df.dropna().r
我正在尝试从嵌套的 json 中创建一个 Pandas 数据框。由于某种原因,我似乎无法解决第三个层次。 我的 json 看起来像这样: "numberOfResults": 376, "re
我有一个带有 LISTS(with dicts) 作为列值的数据框。我的目的是规范整列(所有行)。我找到了标准化单行的方法。但是,我无法对整个数据框或列应用相同的功能。 data = {'COLUMN
我目前正在对这个字典文件进行扁平化处理,遇到了一些障碍。我正在尝试使用 json_normalize 来展平这些数据。如果我对单个实例进行测试,它可以工作,但如果我想展平所有数据,它将返回一个错误,指
我目前正在对这个字典文件进行扁平化处理,遇到了一些障碍。我正在尝试使用 json_normalize 来展平这些数据。如果我对单个实例进行测试,它可以工作,但如果我想展平所有数据,它将返回一个错误,指
我想标准化以下 JSON: [ { "studentId": 1, "studentName": "James", "schools": [
我正在尝试在 Python (Pandas) 中使用 json_normalize 来展平 json 文件,但作为菜鸟,我似乎总是以 KeyError 告终。 我想要实现的是一个包含游戏中所有 Pla
我是一名优秀的程序员,十分优秀!