如何将包含元组列表的字典中的字典转换为pandas数据框

y

我有这样的字典

{
  'S1' :
     {
       'w1':[  ('a',0), ('b',1), ('c',3)],
       'w2':[  ('a',1), ('b',2), ('c',5)], 
       'w3':[  ('a',1), ('b',1), ('c',4)]
     },
 'S2' :      
    {
      'w4':[  ('a',1), ('b',2), ('c',5)],
      'w5':[  ('a',0), ('b',3), ('c',4)], 
      'w6':[  ('a',3), ('b',3), ('c',6)]
    }
}

我想将其转换为这样的pandas数据框:

在此处输入图片说明

有人可以帮我弄这个吗?

耶斯列尔

将嵌套列表理解与合并字​​典一起用于字典列表,然后传递给DataFrame构造函数:

L = [{**{'Col S': k,'Col W':k1}, **dict(v1)} for k, v in d.items() for k1, v1 in v.items()]

df = pd.DataFrame(L)
print (df)
  Col S Col W  a  b  c
0    S1    w1  0  1  3
1    S1    w2  1  2  5
2    S1    w3  1  1  4
3    S2    w4  1  2  5
4    S2    w5  0  3  4
5    S2    w6  3  3  6

解决方案MultiIndex

d = {(k, k1): dict(v1) for k, v in d.items() for k1, v1 in v.items()}

df = pd.DataFrame.from_dict(d, orient='index')
print (df)
       a  b  c
S1 w1  0  1  3
   w2  1  2  5
   w3  1  1  4
S2 w4  1  2  5
   w5  0  3  4
   w6  3  3  6

然后设置索引名称并转换MultiIndex为列,谢谢@sammywemmy:

df = df.rename_axis(index = ['Col S', 'Col W']).reset_index()
print (df)
  Col S Col W  a  b  c
0    S1    w1  0  1  3
1    S1    w2  1  2  5
2    S1    w3  1  1  4
3    S2    w4  1  2  5
4    S2    w5  0  3  4
5    S2    w6  3  3  6

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将字典列表字典转换为Pandas数据框

如何将字典转换为元组列表?

如何将嵌套字典转换为pandas数据框?

如何将字典元组列表转换为熊猫数据框

Python如何将字典列表转换为元组列表

如何将字典列表转换为元组列表?

将包含字典列表的列转换为pandas数据框中的多个列

将数据框转换为元组列表字典

如何将元组列表转换为字典

使用apply方法将Python Pandas数据框列中的元组列表转换为列表字典

将数据框转换为包含字典列表的字典

如何将列表/字典转换为数据框?

如何将列表转换为以元组为键的字典

如何将元组列表转换为字典

将包含字典的字典列表转换为Pandas数据框

如何将嵌套字典列表转换为pandas数据框?

如何将熊猫数据框转换为列表中的值的字典

Python将字典元组列表转换为数据框

如何将单个pandas数据框列中包含的字典转换为单独的列?

Python:如何将元组列表转换为字典键?

如何将嵌套字典转换为pandas数据框?

将包含字典的列表字典转换为数据框

将python字典列表转换为pandas中的数据框

将包含字典列表的列的熊猫数据框转换为元组元组

将包含字典的列表转换为 Pandas 数据框

如何将字典列表转换为元组列表?

如何将字典列表中的列表列表转换为数据框?

将列表中的元组字典转换为 Pandas 数据框

如何将列表元素转换为字典/元组?Python