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