Что выведет код Middle merge, join и concat обновлено
merge с indicator
Вопрос
Что выведет код? По строке на каждый print.
import pandas as pd
a = pd.DataFrame({'id': [1, 2, 3]})
b = pd.DataFrame({'id': [2, 3, 4]})
m = a.merge(b, on='id', how='outer', indicator=True)
print(m['_merge'].astype(str).tolist())
print(m.loc[m['_merge'] == 'left_only', 'id'].tolist())
Попробуйте сами
Напишите, что выведет код: каждый вывод с новой строки.
Показать ответ и разбор
Коротко
Код выведет: ['left_only', 'both', 'both', 'right_only'], [1]. Outer merge с отсортированными ключами даёт строки 1, 2, 3, 4.
Что выведет
['left_only', 'both', 'both', 'right_only']
[1]
Разбор
Outer merge с отсортированными ключами даёт строки 1, 2, 3, 4. Ключ 1 только слева, 2 и 3 в обеих, 4 только справа. Фильтр left_only это анти-джойн: id из a, которых нет в b.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.