我有一个包含三列(原点、目的地、距离)的矩阵,我想用 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
最佳答案
这里有一个选项,首先通过连接原始数据帧值和起点-目的地交换值来复制数据帧信息,然后进行透视
:
pd.DataFrame(pd.np.concatenate([df.values, df.values[:, [1,0,2]]])).pivot(0,1,2).fillna(0)
关于python - 将(出发地、目的地、距离)转换为距离矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43036816/