首页 > 解决方案 > 每个键具有多个值的字典列表作为数据框

问题描述

我想将每个键具有多个值的字典列表转换为数据框。

d = [
    {'2020-12-31 00:00:00': [123, 456, 789, 321]}, 
    {'2021-05-06 00:00:00': [999, 888, 777, 666]}
]

数据框应如下所示:

指数 日期 值1 价值2 价值3 价值4
0 2020-12-31 00:00:00 123 456 789 321
1 2021-05-06 00:00:00 999 888 777 666

我知道创建带有字典列表的数据框很容易实现,pd.DataFrame(dictionaries)但我想将值拆分为单独的列。

我很感激任何帮助。

标签: pythonpandasdataframe

解决方案


pd.DataFrame(d).stack().apply(
    pd.Series).add_prefix(
    'Value').reset_index().rename(columns={'level_0':'index', 'level_1':'Date'})

输出

    index Date               Value0 Value1  Value2  Value3
0   0     2020-12-31 00:00:00   123  456    789     321
1   1     2021-05-06 00:00:00   999  888    777     666

推荐阅读