在Pandas数据框中查找对并对其执行操作

时间:2017-04-07 12:36:53

标签: python pandas numpy dataframe

我有这样的数据框。我想找到第一对并用它做操作。

        fname         lname          time of entry ............... other columns
        Adrian        Peter                 1
        Jhon          Adrian                3
        Peter         Rusk                  4
        Rusk          Anton                 10
        Gile          John                  12
        Angela        Gomes                 13
        Gomes         Angela                14

现在我想要这样的东西,其中罪魁祸首是fname和lname中的值。例如,如果两个值都在fname和lname中作为下面的Angela Gomes案例,则罪魁祸首必须有一行与Angela和其他与Gomes。

  pair  fname         lname        Culprit       time diff ...... other columns
   1    Adrian        Peter        Adrian           -2
   1    John          Adrian       Adrian            2
   2    Peter         Rusk         Rusk             -6
   2    Rusk          Anton        Rusk              6
   3    Angela        Gomes        Angela           -1
   3    Gomes         Angela       Gomes             1

从上面我知道,在安吉拉和戈麦斯中排名第3的是罪魁祸首。时间也应按升序排序。

1 个答案:

答案 0 :(得分:0)

我不喜欢这个,可能有更好的方法,但它可以工作,不使用任何python迭代/列表。

代码:

pair   fname   lname culprit  time_diff
   1  Adrian   Peter  Adrian         -2
   1    John  Adrian  Adrian          2
   2   Peter    Rusk    Rusk         -6
   2    Rusk   Anton    Rusk          6
   3  Angela   Gomes  Angela         -1
   3   Gomes  Angela   Gomes          1

<强>输出:

{{1}}