gpt4 book ai didi

python - Pandas 中的字典列表

转载 作者:太空宇宙 更新时间:2023-11-04 09:44:29 24 4
gpt4 key购买 nike

我有以下形式的字典列表:


[{0:{'city':'newyork', 'name':'John', 'age':'30'}},
{0:{'city':'newyork', 'name':'John', 'age':'30'}},]

我想按以下形式创建 pandas DataFrame:

城市名称年龄
纽约 约翰 30
纽约 约翰 30

尝试了很多次都没有成功

你能帮帮我吗?

最佳答案

通过 concatDataFrame.from_dict 使用列表理解:

L = [{0:{'city':'newyork', 'name':'John', 'age':'30'}},
{0:{'city':'newyork', 'name':'John', 'age':'30'}}]

df = pd.concat([pd.DataFrame.from_dict(x, orient='index') for x in L])
print (df)
name age city
0 John 30 newyork
0 John 30 newyork

具有新列 id 的多个键的解决方案应该是:

L = [{0:{'city':'newyork', 'name':'John', 'age':'30'}, 
1:{'city':'newyork1', 'name':'John1', 'age':'40'}},
{0:{'city':'newyork', 'name':'John', 'age':'30'}}]

L1 = [dict(v, id=k) for x in L for k, v in x.items()]
print (L1)
[{'name': 'John', 'age': '30', 'city': 'newyork', 'id': 0},
{'name': 'John1', 'age': '40', 'city': 'newyork1', 'id': 1},
{'name': 'John', 'age': '30', 'city': 'newyork', 'id': 0}]
df = pd.DataFrame(L1)
print (df)
age city id name
0 30 newyork 0 John
1 40 newyork1 1 John1
2 30 newyork 0 John

关于python - Pandas 中的字典列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50344999/

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