将字典中的字典转换为数据帧

2024-04-26 21:31:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这种字典

{100: {11: 0.01,
 13: 0.21,
 15: 0.5,
 17: 0.54,
 19: 0.6},

110:{11:0.5,
13:0.6,
15:0.8,
17:0.5
}
}

我想把它变成这样

MainId,Id,Value
100,11,0.01
100,13,0.21
100,15,0.5
100,17,0.54
100,19,0.6
110,11,0.5
110,13,0.6
110,15,0.8
110,17,0.5

怎么做到的?有什么建议吗


Tags: id字典value建议mainid
1条回答
网友
1楼 · 发布于 2024-04-26 21:31:06

对具有DataFrame构造函数的元组使用列表理解:

d = {100: {11: 0.01,
 13: 0.21,
 15: 0.5,
 17: 0.54,
 19: 0.6},

110:{11:0.5,
13:0.6,
15:0.8,
17:0.5
}
}

df = pd.DataFrame([(k, k1, v1) for k, v in d.items() for k1, v1 in v.items()],
                   columns=['MainId','Id','Values'])
print (df)
   MainId  Id  Values
0     100  11    0.01
1     100  13    0.21
2     100  15    0.50
3     100  17    0.54
4     100  19    0.60
5     110  11    0.50
6     110  13    0.60
7     110  15    0.80
8     110  17    0.50

相关问题 更多 >