1

我有一个包含三列(起点、终点、距离)的矩阵,我想用 Pandas 将其转换为起点/终点矩阵,有没有一种快速的方法(lambda、map)可以在没有 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
4

1 回答 1

2

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

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

在此处输入图像描述

于 2017-03-27T02:36:50.133 回答