我有3个数据帧。
1.包含商店与主仓库的距离。(df1)
ware_house store km
1 1023 1.1
1 1056 0.3
1 1089 1.7
2.包含商店到商店的距离。(df2)
start_store destination_store km
1023 1056 5.3
1023 1089 3.7
1056 1089 4.5
1056 1023 5.8
1089 1056 3.9
1089 1023 4.2
我还有一个数据框,其中包含我的测试文件(df3)
rowid store sequence
100 1023
101 1056
102 1089
我想在df3中对商店进行排序,以便
首先它选择与仓库距离最小的商店并分配序列号。 df3中的1。
然后它会查找该商店与其他商店的组合,并选择距离最少的商店,并在我的df3中插入第2号序列。
同样,它会检查具有相同逻辑的下一个商店。
在这种情况下,从 df1 ,我们看到商店1056的公里数最少。
因此,在 df3 中,商店1056 指定序列 1
然后从df2寻找商店1056 的其他商店的组合 并选择最小距离存储,在这种情况下存储1089 ,并在df3 中指定序列 2。类似地,然后寻找商店1089与其他商店的组合并生成下一个序列。
我的最终df看起来像:
rowid store sequence
100 1023 3
101 1056 1
102 1089 2
注意:这只是测试示例。我必须计算许多商店。 有什么帮助吗?