我是pandas的新手,我需要将带有内部词典的列表转换为DataFrame
以下列表示例:
[('Fwd1', {'Score': 1.0, 'Prediction': 7.6, 'MAPE': 2.37}), ('Fwd2', {'Score': 1.0, 'Prediction': 7.62, 'MAPE': 2.57}), ('Fwd3', {'Score': 1.0, 'Prediction': 7.53, 'MAPE': 2.54})]
我希望它看起来像这样:
Prediction MAPE Score
Date
Fwd1 7.6 2.37 1
Fwd2 7.62 2.57 1
Fwd3 7.53 2.54 1
任何人都可以为我的旅程做好准备吗?
答案 0 :(得分:2)
您可以先将list
tuples
转换为dict
,然后再创建数据框。不幸的是,在这个结构中,索引和列需要交换为你想要的输出,所以你需要转置它。
假设x
是您的清单:
In [18]: dict(x)
Out[18]:
{'Fwd1': {'MAPE': 2.37, 'Prediction': 7.6, 'Score': 1.0},
'Fwd2': {'MAPE': 2.57, 'Prediction': 7.62, 'Score': 1.0},
'Fwd3': {'MAPE': 2.54, 'Prediction': 7.53, 'Score': 1.0}}
In [19]: pd.DataFrame(dict(x))
Out[19]:
Fwd1 Fwd2 Fwd3
MAPE 2.37 2.57 2.54
Prediction 7.60 7.62 7.53
Score 1.00 1.00 1.00
In [20]: pd.DataFrame(dict(x)).T
Out[20]:
MAPE Prediction Score
Fwd1 2.37 7.60 1
Fwd2 2.57 7.62 1
Fwd3 2.54 7.53 1