Я знаю, что могу сделать как ниже , если мы проверяем только два столбца вместе.
df['flag'] = df['a_id'].isin(df['b_id'])
, где df
- фрейм данных, а a_id
и b_id
это два столбца фрейма данных.Он вернет значение True
или False
в зависимости от совпадения.Но мне нужно сравнить несколько столбцов вместе.
Например: если есть a_id , a_region, a_ip, b_id, b_region and b_ip
столбцы.Я хочу сравнить, как показано ниже,
![enter image description here](https://i.stack.imgur.com/0hIab.png)
a_key = df['a_id'] + df['a_region] + df['a_ip']
b_key = df['b_id'] + df['b_region] + df['b_ip']
df['flag'] = a_key.isin(b_key)
Каким-то образом приведенный выше код всегда возвращает значение False
.Выходные данные должны быть такими, как показано ниже:
![enter image description here](https://i.stack.imgur.com/BXmlw.png)
Флаг первой строки будет True, потому что есть совпадение.
a_key
становится2a10
соответствует последней строке b_key
(2a10)