将包含列表作为值的字典转换为 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
我有一个这样的 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