我在 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,列0,1并且2在Table B列0,并返回最大的价值。
例如:第 3 行显示A,C和的组合D。因此列3查找A中Table B,的值5,然后查找C中Table B,值7。最后它查找D中Table 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]它告诉我我需要相同数量的列