我找不到类似的答案来解决我的问题,因此我们开始:
我有以下形式的字典:
d = {key_1:
{
metric_1: [value_11, value_12],
metric_2: [value_13, value_14],
metric_3: value_15
},
key_2: {
metric_1: [value_21],
metric_2: [value_22],
metric_3: value_23
}
}
如您所见,指标在其列表中包含的项目数量不同。
将其转换为df的好方法是什么?如果使用该from_dict
方法,最终将得到包含列表的df单元(错误)。
我想要实现的是为列表中的每个值创建一个新行,并将键保留为索引:
index | metric_1 | metric_2 | metric_3
———————————————————————————————————————
key_1 | value_11 | value_13 | value_15
key_1 | value_12 | value_14 | value_15
key_2 | value_21 | value_22 | value_23
有想法吗?:)
如果您的数据框具有任意长度的键和值,则这是一种方法
data_dict = {k : pd.DataFrame(v) for k,v in d.items()}
df = pd.concat(data_dict .values(),keys=data_dict.keys())
print(df)
metric_1 metric_2 metric_3
key_1 0 value_11 value_13 value_15
1 value_12 value_14 value_15
key_2 0 value_21 value_22 value_23
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句