gpt4 book ai didi

Python:如何从列表中的字典创建 DataFrame 列

转载 作者:太空宇宙 更新时间:2023-11-03 14:39:37 25 4
gpt4 key购买 nike

reference

我有一个带有以下形式输出的字典:

response['candles'][0:2]

[{'complete': True,
'mid': {'c': '0.91535', 'h': '0.91535', 'l': '0.91535', 'o': '0.91535'},
'time': '2002-05-06T21:00:00.000000000Z',
'volume': 1},
{'complete': True,
'mid': {'c': '0.90435', 'h': '0.90435', 'l': '0.90435', 'o': '0.90435'},
'time': '2002-05-07T21:00:00.000000000Z',
'volume': 1}]

我可以轻松创建一个如下所示的 DataFrame:

res = pd.DataFrame(response['candles'])

complete mid time volume
0 True {'o': '0.91535', 'h': '0.91535', 'l': '0.91535... 2002-05-06T21:00:00.000000000Z 1
1 True {'o': '0.90435', 'h': '0.90435', 'l': '0.90435... 2002-05-07T21:00:00.000000000Z 1

我可以像这样访问“mid”字典项目:

response['candles'][0]['mid']['c']

'0.91535'

但是如何在 DataFrame 中为每个“mid”项目添加列,而不是在 DataFrame 中添加字典?我想要一个 ['mid']['o']、['mid']['h'] 等列。

谢谢

最佳答案

使用pandas.io.json.json_normalize :

d = [{'complete': True,
'mid': {'c': '0.91535', 'h': '0.91535', 'l': '0.91535', 'o': '0.91535'},
'time': '2002-05-06T21:00:00.000000000Z',
'volume': 1},
{'complete': True,
'mid': {'c': '0.90435', 'h': '0.90435', 'l': '0.90435', 'o': '0.90435'},
'time': '2002-05-07T21:00:00.000000000Z',
'volume': 1}]

pd.io.json.json_normalize(d)
#complete mid.c mid.h mid.l mid.o time volume
#0 True 0.91535 0.91535 0.91535 0.91535 2002-05-06T21:00:00.000000000Z 1
#1 True 0.90435 0.90435 0.90435 0.90435 2002-05-07T21:00:00.000000000Z 1

关于Python:如何从列表中的字典创建 DataFrame 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46635555/

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