Python 两个数据帧中列之间的条件比较

Python 两个数据帧中列之间的条件比较,python,pandas,csv,Python,Pandas,Csv,我有两个文件,一个是数据文件,另一个是比较文件。 在文件1中有两列;元素的名称和值。 在文件2中,相同元素有阈值,尽管它们的名称略有不同,并且顺序也不相同 我要做的是搜索文件1、文件2中的元素。当元素之间存在匹配时,我将比较文件1中的值和文件2中的阈值。我可以使用str.match或str.contains来实现这一点,但是它们只返回True/False,不允许我继续工作。我尝试了使用in操作符的for循环,但是这仅在两个文件中的元素顺序相同时才起作用。而且,我知道我应该避免使用带有数据帧的fo

我有两个文件,一个是数据文件,另一个是比较文件。 在文件1中有两列;元素的名称和值。 在文件2中,相同元素有阈值,尽管它们的名称略有不同,并且顺序也不相同

我要做的是搜索文件1、文件2中的元素。当元素之间存在匹配时,我将比较文件1中的值和文件2中的阈值。我可以使用str.match或str.contains来实现这一点,但是它们只返回True/False,不允许我继续工作。我尝试了使用in操作符的for循环,但是这仅在两个文件中的元素顺序相同时才起作用。而且,我知道我应该避免使用带有数据帧的for循环

 for j in File2['element']:
            if j in File1['element']:
                print(j)
解决这个问题的最好办法是什么

文件1:

element A    
aa    6.2        
bb    3.1        
cc    4.7
用于比较的文件2:

element     D   E   F        
bb(b)       1   2   3           
aa(a)       1   5   10        
cc(c)      10   20  30

从文件_2中的细微更改开始。 我的意思是提取元素的“第一部分”(在左括号之前) 并将其设置为索引:

file_2.set_index(file_2.element.str.extract(r'(?P<elem>\w+)').elem, inplace=True)
现在你有:

           A   D   E   F
element                 
aa       6.2   1   5  10
bb       3.1   1   2   3
cc       4.7  10  20  30
其中:

  • 键是元素名
  • A是文件_1中的原始列
  • 其余所有列都来自文件2
这样,您就不受文件2中行的顺序的限制

然后,对于每一行,可以在
和重新命名列。

您希望这些数据会有什么结果?我希望得到一个pdf,其中文件1中的值会根据它们所属的间隔(由文件2中的列定义)标记为颜色
           A   D   E   F
element                 
aa       6.2   1   5  10
bb       3.1   1   2   3
cc       4.7  10  20  30