我有一个字典列表:
list_of_dicts = [{'name': 'a', 'counts': [{'dog': 2}]},
{'name': 'b', 'counts': [{'cat': 1}, {'capibara': 5}, {'whale': 10}]},
{'name': 'c', 'counts': [{'horse':1}, {'cat': 1}]]
我想将其转换为熊猫数据框,如下所示:
姓名 | 动物 | 频率 |
---|---|---|
一种 | 狗 | 2 |
b | 猫 | 1 |
b | 卡比巴拉 | 5 |
b | 鲸 | 10 |
C | 马 | 1 |
C | 猫 | 1 |
在当前代码中,我尝试对其进行规范化:
from pandas import json_normalize
df = json_normalize(list_of_dicts, 'counts')
但我认为我走错了方向。另外,如果我做一个简单的df = pd.DataFrame(list_of_dicts)
,它会导致每个字典列表都是一个单行值,这是不希望的。