2016-01-06 30 views
1

我是新來的大熊貓,我需要把與內部詞典列表到數據幀的Python /大熊貓 - 打開與內部詞典列表到數據幀

下面的列表中的一個例子:

[('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 

送人ENLIGHT我的旅程?

回答

2

您可以先將listtuples轉換爲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 
+0

突出。我現在需要的只是改變列的順序,所以「預測」是第一個。你知道我該怎麼做? – abutremutante

+1

Python字典不保證順序。這就是爲什麼這些列與字典中顯示的順序不同的原因。你可以重新排列列df = df [[''Prediction','MAPE','Score']] – Happy001

+0

好,那就是我需要的 – abutremutante