2017-03-08 84 views
1

我的目標是創建一個熊貓面板,我現在有一個CSV,與樣品如下:創建與大熊貓面板中的3D矩陣

Year From country   To country Points 
2005  Albania    Albania  0 
2005  Albania Bosnia & Herzegovina  0 
2005  Albania    Croatia  2 
2005  Albania    Cyprus  7 
2005  Albania    Denmark  0 

我想打一個三維陣列,其中第一軸所有年份的範圍,我必須通過csv搜索2005年轉向2006年的時間,等等,那麼下一個軸將是來自國家,另一個軸將是國家,並且這些軸將具有點的值......如果這是有道理的?這個熊貓面板是我應該在這裏使用的工具,以及如何從大數據框中颳去創造新數據框的假設,所有這些年(2005 - 2016)

編輯: 我找到了這張圖片,這正是我每年要做的,而不是所有年份的平均值。因此,它會像每年有這些圖表之一,2005年 - 2016年 matrix

回答

0

設置您的數據幀格式,其索引是一個包含兩個級別的多索引。使用方法to_panel將假定Items位於列中,Major_axis位於索引的第一級,而Minor_axis位於索引的第二級。

df.set_index(['From country', 'To country', 'Year']).Points.unstack().to_panel() 

<class 'pandas.core.panel.Panel'> 
Dimensions: 1 (items) x 1 (major_axis) x 5 (minor_axis) 
Items axis: 2005 to 2005 
Major_axis axis: Albania to Albania 
Minor_axis axis: Albania to Denmark 
+0

我收到此錯誤:ValueError:索引包含重複項,無法重塑。而且我不知道如何改變你的工作。另外爲什麼是.Points。那裏? –