Skip to main content
 首页 » 编程设计

python之如何将字典转换为 pandas df

2025年05月04日21soundcode

我有一个包含键和值列表的字典。我想制作一个简单的 pandas df,但是,我无法将列表项分成单独的行。我当前的方法创建一个 df 但将值保留在列表中。如何将它们拉出并将它们添加为单独的行?

d = {'Car':['1','2','3'], 
     'Chicken legs':['4','5','6'], 
     'Coronary artery bypass graft surgery':['7','8','9','10','11','12']} 
 
df = pd.DataFrame({'Thing':list(d.keys()), 'Values':list(d.values())}) 
 
    Thing                                   Values 
0   Car                                     [1, 2, 3] 
1   Chicken_legs                            [4, 5, 6] 
2   Coronary artery bypass graft surgery    [7, 8, 9, 10, 11, 12] 

预期的最终结果:

     Thing                                  Values 
0  Car                                      1 
1  Car                                      2 
2  Car                                      3 
3  Chicken_legs                             4 
4  Chicken_legs                             5 
5  Chicken_legs                             6 
6  Coronary artery bypass graft surgery     7 
7  Coronary artery bypass graft surgery     8 
8  Coronary artery bypass graft surgery     9 
9  Coronary artery bypass graft surgery     10 
10 Coronary artery bypass graft surgery     11 
11 Coronary artery bypass graft surgery     12 

请您参考如下方法:

只需将您的字典变成正确的东西即可:

In [3]: pd.DataFrame({'Thing':k, 'Values':v} for k,V in d.items() for v in V) 
Out[3]: 
                                   Thing Values 
0   Coronary artery bypass graft surgery      7 
1   Coronary artery bypass graft surgery      8 
2   Coronary artery bypass graft surgery      9 
3   Coronary artery bypass graft surgery     10 
4   Coronary artery bypass graft surgery     11 
5   Coronary artery bypass graft surgery     12 
6                                    Car      1 
7                                    Car      2 
8                                    Car      3 
9                           Chicken legs      4 
10                          Chicken legs      5 
11                          Chicken legs      6