2017-02-22 22 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 –