[英]How to convert dictionary into a pandas df?
我有一本包含鍵和值列表的字典。 我想制作一個簡單的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
此解決方案不及juanpa.arrivillaga接受的解決方案。
pd.concat([ pd.DataFrame({'Thing': df['Thing'][i], 'Values': pd.Series(df.Values[i])}) for i in range(len(df)) ])
Thing Values
0 Car 1
1 Car 2
2 Car 3
0 Chicken legs 4
1 Chicken legs 5
2 Chicken legs 6
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.