2017-02-22 23 views
1

所以,我剛剛學習Python並遇到了一些小問題,我正在處理一個包含447個歐洲區域和(清理數據後)大約200,000貨運的數據集這些地區之間的往返運費不同。將流量聚合到流網絡數據框中

我需要從這些數據構造兩個矩陣;區域(可能是每個模式)

2)國家(間聚集行程之間

1)聚合跳閘從而無需國家內運輸)行程數據

例如:

From To Mode Volume_ton 
    1  2  1  371246 
    7  423 2  10587 
    245 123 1  6841 

(所以往返:447個地區,模式:road = 1 rail = 2,

如何使用From和To「座標」來構建新的數據框,旅行在同一組閤中的格式如下:

# 0 1 2 3 4 5 6 ... 
0 
1 
2 
3 
4 
... 

凡行是產地和列目的地

下一個問題是,如何在聚合成一個國家對這個國家的矩陣。 這些數字確實附有代碼,並且我構建了一本字典。

回答

0

很難說沒有一個可重複的示例數據框。但我會這樣做:

totals = (
    pandas.groupby(by=['To', 'From'])['Volume_ton'] 
     .sum() 
     .unstack(level='From') 
) 
+0

嗨保羅,謝謝你的anwser。 我試圖把這些代碼: df_freg_road \t \t = df_flow_road.groupby([ '爲', '從'] [ 'Volume_ton'] \t \t \t \t \t \t的.sum() \t \t \t \t \t \t .unstack(級別= '從') \t \t \t \t \t \t) 但它給了我以下錯誤: TypeError:列表索引必須是整數或切片,而不是str 任何想法如何解決這個問題? –

+0

@Aguywhostudieslogistics「很難說沒有一個可重複的示例數據框」 –

+0

@Aguywhostudieslogistics請參閱pandas wiki中的「提問問題」部分http://stackoverflow.com/tags/pandas/info –