Встречается на собеседованиях • сегодня
Работал ли с anti join
Да, работал. Anti join — это операция, которая возвращает строкй из левой таблицы, отсутствующие в правой. В SQL это обычно реализуется через LEFT JOIN + WHERE IS NULL или NOT EXISTS. В pandas аналогичный результат достигается через merge с индикатором или isin с отрицанием.
Пример в pandas:
python
left = pd.DataFrame({'key': ['A', 'B', 'C']})
right = pd.DataFrame({'key': ['A', 'B']})
# Способ 1: merge с indicator
anti_join = left.merge(right, on='key', how='left', indicator=True)
anti_join = anti_join[anti_join['_merge'] == 'left_only'].drop('_merge', axis=1)
# Способ 2: isin с отрицанием
anti_join = left[~left['key'].isin(right['key'])]Нюансы:
- Важно проверять на NaN, так как
isinиmergeмогут вести себя с ними неочевидно - Для больших таблиц
mergeможет быть менее эффективен, чемisin

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы