Встречается на собеседованиях • сегодня
Сталкивался ли с Semi JOIN
Semi JOIN — это операция, которая возвращает строки из первой таблицы, для которых есть хотя бы одно совпадение во второй таблице, но без дублирования строк при множественных совпадениях. В SQL это можно реализовать через EXISTS или IN.
В Python, при работе с pandas, аналогом Semi JOIN будет использование merge с последующим удалением дубликатов или isin():
python
import pandas as pd
# Пример данных
df1 = pd.DataFrame({'id': [1, 2, 3], 'name': ['A', 'B', 'C']})
df2 = pd.DataFrame({'id': [1, 1, 3], 'value': [10, 20, 30]})
# Semi JOIN через merge
semi_join = df1[df1['id'].isin(df2['id'])]
print(semi_join)
# Или через merge с indicator
merged = df1.merge(df2['id'].drop_duplicates(), on='id', how='inner')
print(merged)Оба способа вернут только строки из df1, чьи id есть в df2, без дублирования.

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