将包含列表的字典转换为DataFrame

时间:2015-01-20 15:28:22

标签: python list pandas dictionary dataframe

我有一个像这样的python字典:

tag_dict = {'001':['apple', 'orange'], '002':['banana', 'strawberry', 'peach']}

我想将此字典转移到如下所示的DataFrame:

id  value
001 apple
001 orange
002 banana
002 strawberry
002 peach

有两列:' id'和'价值'。

我有两行ID为001,但'值为'专栏:' apple'和' orange'。同样适用于id 002。

1 个答案:

答案 0 :(得分:2)

如果您想使用DataFrame.from_dict(),可以使用stack()进行跟进,然后重置索引:

>>> tag_dict = {'001':['apple','orange'], '002':['banana','strawberry','peach']}
>>> df = pd.DataFrame.from_dict(tag_dict, orient='index').stack()
>>> df.reset_index(level=0)
  level_0           0
0     001       apple
1     001      orange
0     002      banana
1     002  strawberry
2     002       peach

然后,您可以重命名列并为其提供您喜欢的任何索引:

>>> df.columns = ['id', 'value']
>>> df.set_index('id')
          value
id             
001       apple
001      orange
002      banana
002  strawberry
002       peach