为了账号安全,请及时绑定邮箱和手机立即绑定

熊猫从单个字典列表构建数据框

熊猫从单个字典列表构建数据框

交互式爱情 2023-09-26 17:29:32
我有一个单一字典列表:foo = [{'A': 'a1'}, {'B': 'b1'},{'C': 'c1'}, {'A': 'a2'}, {'B': 'b2'}, {'C': 'c2'}, {'A': 'a3'}, {'B': 'b3'},{'C': 'c3'}]我想构建一个像这样的 DataFrame。我尝试使用此解决方案将字典列表分组为单个字典 将相同键的值合并到字典列表中bar = {    k: [d.get(k) for d in foo]    for k in set().union(*foo)}pd.DataFrame(bar)但输出看起来并不好。有人可以帮忙吗?
查看完整描述

2 回答

?
MM们

TA贡献1886条经验 获得超2个赞

您可以更改字典理解来过滤缺失值:


bar = {

    k: [d[k] for d in foo if k in d]

    for k in set().union(*foo)

}

查看完整回答
反对 回复 2023-09-26
?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

首先转换为列的字典:


from collections import defaultdict                                                                


bar = defaultdict(list)                                                                            


for dict_ in foo: 

    for key, value in dict_.items(): 

        bar[key].append(value) 

那么它就变得微不足道了:


pd.DataFrame(bar)                                                                                  

# Out 

#     A   B   C

# 0  a1  b1  c1

# 1  a2  b2  c2

# 2  a3  b3  c3


查看完整回答
反对 回复 2023-09-26
  • 2 回答
  • 0 关注
  • 94 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信