根据其他数据框中的行值选择数据框中的列值

时间:2019-09-26 13:06:40

标签: python pandas dataframe

我的第一个数据框如下所示:

    W   X   Y   Z   TARGET
0   1   2   3   4   A
1   3   4   5   6   C
2   2   3   4   5   B

第二个数据帧是:

    A   B   C   D
0   0.9 0.0 0.0 0.1
1   0.1 0.2 0.7 0.0
2   0.4 0.6 0.0 0.0

基于第一个数据帧的目标值,我需要在第二个数据帧中搜索列值并输出以下内容。

    W   X   Y   Z   TARGET  PROB
0   1   2   3   4   A       0.9    
1   3   4   5   6   C       0.7
2   2   3   4   5   B       0.6

我尝试了不同的方法,但从未成功。谁能帮我吗?

1 个答案:

答案 0 :(得分:2)

这是一个lookup问题:

df1['PROB'] = df2.lookup(df2.index, df1.TARGET)

输出:

   W  X  Y  Z TARGET  PROB
0  1  2  3  4      A   0.9
1  3  4  5  6      C   0.7
2  2  3  4  5      B   0.6