提问人:Phạm Tấn Thành 提问时间:11/12/2022 最后编辑:Phạm Tấn Thành 更新时间:11/14/2022 访问量:36
如何将字典列表的列表解嵌到DataFrame中?
How to de-nested a list of list of dictionary into a DataFrame?
问:
我有一个这样的词典列表
['[{"date_update":"31-03-2022","diemquatrinh":"6.0"}]',
'[{"date_update":"28-04-2022","diemquatrinh":"6.5"}]',
'[{"date_update":"25-12-2021","diemquatrinh":"6.0"}, {"date_update":"28-04-2022","diemquatrinh":"6.25"},{"date_update":"28-07-2022","diemquatrinh":"6.5"}]',
'[{"date_update":null,"diemquatrinh":null}]']
我不知道如何将它们制作成具有 2 列的 DataFrame。我期待着你的帮助。谢谢!
updated_at | Diemquatrinh(迪姆夸特林酒店) |
---|---|
11-03-2022 | 6.25 |
25-12-2021 | 6.0 |
28-04-2022 | 6.25 |
28-07-2022 | 6.5 |
零 | 零 |
答:
1赞
Bushmaster
11/12/2022
#1
首先,将字符串转换为字典。
import pandas as pd
import json
example_data=['[{"date_update":"31-03-2022","diemquatrinh":"6.0"}]',
'[{"date_update":"28-04-2022","diemquatrinh":"6.5"}]',
'[{"date_update":"25-12-2021","diemquatrinh":"6.0"}, {"date_update":"28-04-2022","diemquatrinh":"6.25"},{"date_update":"28-07-2022","diemquatrinh":"6.5"}]',
'[{"date_update":null,"diemquatrinh":null}]']
listt=[]
for i in example_data:
listt.append(json.loads(i))
当我检查数据时,每个字典都有相同的键。这意味着我可以将所有词典收集在一个列表中。
main_list = [item for sublist in listt for item in sublist]
print(main_list)
'''
[{'date_update': '31-03-2022', 'diemquatrinh': '6.0'}, {'date_update': '28-04-2022', 'diemquatrinh': '6.5'}, {'date_update': '25-12-2021', 'diemquatrinh': '6.0'}, {'date_update': '28-04-2022', 'diemquatrinh': '6.25'}, {'date_update': '28-07-2022', 'diemquatrinh': '6.5'}, {'date_update': None, 'diemquatrinh': None}]
'''
剩下的就是将列表转换为数据帧:
df=pd.DataFrame(main_list)
print(df)
'''
date_update diemquatrinh
0 31-03-2022 6.0
1 28-04-2022 6.5
2 25-12-2021 6.0
3 28-04-2022 6.25
4 28-07-2022 6.5
5 None None
'''
评论
0赞
Phạm Tấn Thành
11/14/2022
谢谢你的回答。您的代码可以完美运行。你能帮我解决另一个类似的问题吗,但更难。这是它的链接 stackoverflow.com/questions/74426788/...。
评论
string
list