Выбор ответа Senior Выборка и фильтрация обновлено
Запись по несуществующей метке
Вопрос
У df индекс [0, 1] и одна колонка. Что сделает df.loc[5] = [9]?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Добавит новую строку с меткой 5. При присваивании loc по отсутствующей метке pandas расширяет объект (setting with enlargement): появляется строка с меткой 5, индекс становится [0, 1, 5].
Варианты ответа
- Бросит
KeyError: метки 5 нет - Запишет 9 во вторую строку
- Добавит новую строку с меткой 5правильный ответ
- Создаст колонку с названием 5
Разбор
При присваивании loc по отсутствующей метке pandas расширяет объект (setting with enlargement): появляется строка с меткой 5, индекс становится [0, 1, 5]. KeyError бывает при чтении, а не при записи. Позиции тут ни при чём, это loc. Новую колонку создаёт df.loc[:, 5] = ... или df[5] = .... Добавлять строки так в цикле дорого: каждый раз перестраивается весь объект.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.