使用pandas df根据距离对序列进行存储

时间:2017-08-24 04:47:53

标签: python pandas

我有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

注意:这只是测试示例。我必须计算许多商店。 有什么帮助吗?

0 个答案:

没有答案