假设我们有以下字典:
things = {'George':['cat','kitty'], 'Stackoverflow':['questions','answers'], 'hungry':['im','always']}
一个人可以轻松地将其转换为包含[[key1,value1]...[keyX,valueX]]
的列表,并将其转换为如下所示的数据框:(此处忽略了索引和列名)
George cat
George kitty
Stackoverflow questions
Stackoverflow answers
hungry im
hungry always
但是,这有可能直接来自字典吗?
答案 0 :(得分:2)
pd.DataFrame.from_dict(things, orient='index').stack().reset_index(level=0)
level_0 0
0 George cat
1 George kitty
2 Stackoverflow questions
3 Stackoverflow answers
4 hungry im
5 hungry always
答案 1 :(得分:2)
只需使用melt
pd.DataFrame(things).melt()
variable value
0 George cat
1 George kitty
2 Stackoverflow questions
3 Stackoverflow answers
4 hungry im
5 hungry always
如果要在此处使用列名,只需使用 var_name
和 value_name
标志:
pd.DataFrame(things).melt(var_name='foo', value_name='bar')