标签: python pandas lambda
我有一个包含三列(原点,目的地,距离)的矩阵,我想用Pandas将其转换为原点/目标矩阵,有没有快速的方法(lambda,map)来做这个而不用for循环?< / p>
例如(我拥有的):
a b 10 a c 20 b c 30
我需要什么:
a b c a 0 10 20 b 10 0 30 c 20 30 0
答案 0 :(得分:2)
这是一个选项,首先通过连接原始数据帧值和 origin-destination 交换值来复制数据帧信息,然后执行pivot:
pivot
pd.DataFrame(pd.np.concatenate([df.values, df.values[:, [1,0,2]]])).pivot(0,1,2).fillna(0)