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

Запись по несуществующей метке

Вопрос

У df индекс [0, 1] и одна колонка. Что сделает df.loc[5] = [9]?

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

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

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

Коротко

Правильный ответ: Добавит новую строку с меткой 5. При присваивании loc по отсутствующей метке pandas расширяет объект (setting with enlargement): появляется строка с меткой 5, индекс становится [0, 1, 5].

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

  1. Бросит KeyError: метки 5 нет
  2. Запишет 9 во вторую строку
  3. Добавит новую строку с меткой 5правильный ответ
  4. Создаст колонку с названием 5

Разбор

При присваивании loc по отсутствующей метке pandas расширяет объект (setting with enlargement): появляется строка с меткой 5, индекс становится [0, 1, 5]. KeyError бывает при чтении, а не при записи. Позиции тут ни при чём, это loc. Новую колонку создаёт df.loc[:, 5] = ... или df[5] = .... Добавлять строки так в цикле дорого: каждый раз перестраивается весь объект.

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

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

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