(Col1, Col2) -> Col3 A. B , , Col3 A Col1 Col2 .
Pseudocode, familiair pandas:
from collections import defaultdict
def is_close(a, b):
return abs(a-b) < some_value
d = defaultdict(list)
for col1, col2, col3 in A:
d[(col1, col2)].append(col3)
for col1, col2, col3 in B:
if not any(is_close(col3, x) for x in d[(col1, col2)]):
add_to_result(col1, col2, col3)
defaultdict , Col1 Col2. , O(n), B A Col1 Col2.