当前位置 : 主页 > 网络编程 > 其它编程 >

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

来源:互联网 收集:自由互联 发布时间:2023-07-02
我在Pandas中有以下2个数据框形式的表;这是所有可能组合的列表:TableA:012+---+ 我在 Pandas 中有以下 2 个数据框形式的表; 这是所有可能组合的列表: Table A: 0 1 2 +---+----+----+0| A |None|No
我在Pandas中有以下2个数据框形式的表;这是所有可能组合的列表:TableA:012+---+

我在 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]它告诉我我需要相同数量的列

上一篇:android判断SD卡空间
下一篇:没有了
网友评论