通过查找多个列值进行合并

我在 Pandas 中有以下 2 个数据框形式的表;

这是所有可能组合的列表:

Table A:
   0    1    2
 +---+----+----+
0| A |None|None|
 +---+----+----+
1| B |None|None|
 +---+----+----+
2|...|    |    |
 +---+----+----+
3| A | C  | D  |
 +---+----+----+
4| B | C  | D  |
 +---+----+----+

这些是变量的关联值:

Table B:
  0   1
 +---+---+
0| A | 5 |
 +---+---+
1| B | 2 |
 +---+---+
2| C | 7 |
 +---+---+
3| D | 4 |
 +---+---+

我需要的是这样的:

   0    1    2   3
 +---+----+----+---+
0| A |None|None| 5 |
 +---+----+----+---+
1| B |None|None| 2 |
 +---+----+----+---+
2|...|    |    |   |
 +---+----+----+---+
3| A | C  | D  | 7 |
 +---+----+----+---+
4| B | C  | D  | 7 |
 +---+----+----+---+

当第3列是通过查找每个关联值从发现Table A,列01并且2Table B0,并返回最大的价值。

例如:
第 3 行显示A,C和的组合D。因此列3查找ATable B,的值5,然后查找CTable B,值7。最后它查找DTable B,值4。在这 3 个数字中,7 是最大的,因此它返回。

到目前为止,我已经尝试pandas.merge过没有运气

更新:
我试过这个:

Final=df1.insert(3,column='min space',value=df1.join(df2.set_index(0),on=0).max())

但它只返回None并且不考虑 df1 中的多列,如果我尝试添加多列;[0,1,2]它告诉我我需要相同数量的列

以上是通过查找多个列值进行合并的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>