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

Convert a dictionary containing lists as values to a 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' 和 'value'。

我有两行 ID 为 001,但 'value' 列中的值不同:'apple' 和 'orange'。同样对于 id 002.

如果你想使用 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