我有大量的 json 数据被读入 python 数据帧,并为每行创建一个字典列表。我需要将其转换为不同格式的数据。
数据格式如下:
{
"data": [{
"item": [{
"value": 0,
"type": "a"
},
{
"value": 0,
"type": "b"
},
{
"value": 70,
"type": "c"
}
],
"timestamp": "2019-01-12T04:52:06.669Z"
},
{
"item": [{
"value": 30,
"type": "a"
},
{
"value": 0,
"type": "b"
}
],
"timestamp": "2019-01-12T04:53:06.669z"
}
]
}
将数据转换为以下形式的数据帧的最有效方法是什么:
时间戳-----------------------------a-------b------c
2019-01-12T04:52:06.669Z------0-------0------70
2019-01-12T04:53:06.669Z------30- -----0------0
到目前为止,我已经设法使用 for 循环来做到这一点,但它非常低效且缓慢。到目前为止我所拥有的是这个。
with open('try.json') as f:
data = json.load(f)
df_data = pandas.DataFrame(data['data'])
df_formatted = pandas.DataFrame(columns=['a','b','c'])
for d, timestamp in zip(df_data['item'], df_data['timestamp']):
row = dict()
for entry in d:
category = entry['type']
value = entry['value']
row[category] = value
row['timestamp'] = timestamp
df_formatted = df_formatted.append(row, ignore_index=True)
df = df_formatted.fillna(0)
列表中的项目数通常为数千。有关如何高效执行此操作的任何指示或示例?
holdtom
素胚勾勒不出你
相关分类