2017-03-27 117 views
1

我有一个三列(原点,目的地,距离)的矩阵,我想用熊猫把它转换成原点/目标矩阵,有没有一种快速方法拉姆达,地图)做到这一点没有for循环?转换(起源,目的地,距离)到距离矩阵

例如(我有):

a b 10 
a c 20 
b c 30 

我需要什么:

a b c 
a 0 10 20 
b 10 0 30 
c 20 30 0 

回答

1

这里是一个选项,首先通过连接原始数据帧值和复制数据帧信息起源 - 目的地交换价值,然后做一个pivot

pd.DataFrame(pd.np.concatenate([df.values, df.values[:, [1,0,2]]])).pivot(0,1,2).fillna(0) 

enter image description here