两列比较并返回相邻列的值

时间:2020-09-25 04:20:16

标签: python pandas

我在熊猫中有以下数据框

  T1         A     T2       P
0 n1        a1     n2       p1  
1 n2        a2     n4       p2
2 n3        a3     n5       p3
..

在任务中,需要将“ T1”列中的值与“ T2”中的所有值进行比较。如果有任何匹配项(最多只有1个匹配项),则需要将其值以及相邻的“ T”的“ A”值,“ T2”的“ P”值写入新的csv文件中。

以上数据框的新csv文件如下所示:

T         A        P
n2        a2       p1*

有人可以帮助我实现这一点吗?

1 个答案:

答案 0 :(得分:3)

IIUC,您可以执行merge

print (df[["T1", "A"]].merge(df[["T2", "P"]], left_on="T1", right_on="T2")
                      .drop("T1", 1).rename(columns={"T2":"T"}))

    A   T   P
0  a2  n2  p1
相关问题