我有一个包含键和值列表的字典。我想制作一个简单的 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
