Выбор ответа Senior merge, join и concat обновлено
Размер cross join
Вопрос
Нужна сетка «каждый магазин × каждый день», чтобы потом дозаполнить нулями дни без продаж. Магазинов 300, дней 365. Каким будет результат stores.merge(days, how="cross") и зачем он?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: 109 500 строк, все пары магазин-день, к ним потом left merge. Cross join даёт декартово произведение: 300 × 365 = 109 500 строк.
Варианты ответа
- 665 строк (300 + 365): это объединение двух справочников подряд
- 109 500 строк, все пары магазин-день, к ним потом left mergeправильный ответ
- 365 строк, а 300 магазинов станут отдельными колонками
- Ошибка: для cross нужно указать общий параметр
on
Разбор
Cross join даёт декартово произведение: 300 × 365 = 109 500 строк. Это классический способ получить полный каркас и затем присоединить продажи через left merge и fillna(0), чтобы дни без продаж не пропали из средних. Объединение справочников это concat. Для cross параметр on не нужен и запрещён.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.