我有一个问题,我认为更多的是逻辑而不是编码。我的目标是计算卡车装载和充电的公里数。

我有两个数据框

让我们称之为第一个旅程:

Date         Licence   City             State    KM
01/05/2019   AAA-1111  Sao Paulo        SP       10
02/05/2019   AAA-1111  Santos           SP       10
03/05/2019   AAA-1111  Rio de Janeiro   RJ       20
04/05/2019   AAA-1111  Sao Paulo        SP       15
01/05/2019   AAA-2222  Curitiba         PR       20
02/05/2019   AAA-2222  Sao Paulo        SP       25


让我们叫第二张发票

Code Date       License  Origin    State Destiny        UF   Value
A1   01/05/2019 AAA-1111 Sao Paulo SP    Rio de Janeiro RJ   10.000,00
A2   01/05/2019 AAA-2222 Curitiba  PR    Sao Paulo      SP  15.000,00


我需要得到的是:

Date         Licence   City             State        KM  Code
01/05/2019   AAA-1111  Sao Paulo        SP       10  A1
02/05/2019   AAA-1111  Santos           SP       10  A1
03/05/2019   AAA-1111  Rio de Janeiro   RJ       20  A1
04/05/2019   AAA-1111  Sao Paulo        SP       15  Nan
01/05/2019   AAA-2222  Curitiba         PR       20  A2
02/05/2019   AAA-2222  Sao Paulo        SP       25  A2


正如我所说,更多是逻辑问题。卡车是在圣保罗的始发地取货的。如果我没有货物的交付日期,我如何知道行进的货物经过桑托斯然后再去里约热内卢,对行进行遍历?

ks

最佳答案

因此,这就是我从逻辑上解决问题的方法:

我们是否假设第一个DataFrame将始终按顺序排序?

如果是这样,您可以将第二个DataFrame中的Origin和Destination放入[Sao Paulo,Rio de Janiero]之类的列表中,然后可以遍历第一个DataFrame以查找圣保罗的第一个实例和Rio的第一个实例de Janeiro。

因此,在这种情况下,对第一个DataFrame进行迭代应为您提供圣保罗的位置0和里约热内卢的2位置,然后您将知道位置0和2之间的所有位置均由卡车经过,在这种情况下为Santos 。

关于python - 使用另一个数据框的信息遍历一个数据框,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56012592/

10-11 22:45
查看更多