Выбор ответа Senior Выборка и фильтрация обновлено

Новая колонка через loc с маской

Вопрос

Что будет в колонке new после df.loc[df.a > 1, "new"] = "x", если a = [1, 2, 3], а колонки new раньше не было?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: [NaN, "x", "x"]. Присваивание через loc по отсутствующей колонке создаёт её, строки вне маски получают пропуск.

Варианты ответа

  1. ["x", "x", "x"]
  2. ["", "x", "x"]
  3. Ошибка: колонки new нет
  4. [NaN, "x", "x"]правильный ответ

Разбор

Присваивание через loc по отсутствующей колонке создаёт её, строки вне маски получают пропуск. Значение не размножается на все строки, маска соблюдается. Пустую строку pandas сам не подставляет. Если нужен вариант по умолчанию, заведите колонку заранее (df["new"] = "-") или используйте np.where.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме