У меня есть два кадра данных (df1, df2), и я хотел бы создать новый столбец в df1, который указывает, есть ли совпадение, вероятное совпадение или несоответствие в нескольких столбцах между каждым кадром данных.df1:
id a b c d name
a1 94 18 10 20 b1
a2 20 18 1 2 b4,b5
a3 21 18 34 32 b2,b3,b4
a4 216 5 56 76 b5
a5 210 5 10 30 b4,b5
df2:
id a b c d
b1 94 5 10 20
b2 A150 5 13 45
b3 167 5 4 -1
b4 210 5 40 80
b5 216 5 60 80
В основном имя является идентификатором df2.Я хотел бы сопоставить имя df1 с id df2 и основания следующего условия создать новый столбец.
Match : df1['a','b','c','d'] = df2['a','b','c','d']
likely match : df1['a','b'] = df2['a','b'] & c or d +- 10 is fine
Missmatch: df1['a','b'] = df2['a','b'] but column c & d > +- 10
Missing: df1 record not in df2
Результат
id a b c d name Status
a1 94 18 10 20 b1 Match
a2 20 18 1 2 b2,b3 Missing
a3 21 18 34 32 b2,b3,b4Missing
a4 210 5 10 30 b4,b5 Missmatch
a5 216 5 56 76 b5 Likely