Выбор ответа Junior Series, DataFrame и индекс спрашивают часто обновлено
Сложение Series с разными индексами
Вопрос
Что получится в a + b?
import pandas as pd
a = pd.Series([1, 2, 3], index=['x', 'y', 'z'])
b = pd.Series([10, 20], index=['y', 'w'])
print(a + b)
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: NaN для меток w, x, z и 12.0 для y. Арифметика pandas выравнивает данные по меткам индекса, а не по позициям.
Варианты ответа
NaNдля метокw,x,zи 12.0 дляyправильный ответ[11, 22, 3]: складываются по позициям, лишнее остаётся- Ошибка: индексы не совпадают
[11, 22]: длина по меньшей Series
Разбор
Арифметика pandas выравнивает данные по меткам индекса, а не по позициям. Результат получает объединение меток w, x, y, z, и только у y есть пара: 2 + 10 = 12. Остальные метки без пары дают NaN, поэтому тип становится float. Ошибки нет, обрезки по длине тоже. Чтобы недостающее считалось нулём: a.add(b, fill_value=0).
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.