Выбор ответа Junior Series, DataFrame и индекс обновлено

inplace=True и присваивание

Вопрос

Что окажется в df после строки df = df.sort_values("a", inplace=True)?

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

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

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

Коротко

Правильный ответ: None. С inplace=True метод меняет объект на месте и возвращает None, а присваивание перезаписывает переменную этим None.

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

  1. Отсортированный DataFrame
  2. Исходный неотсортированный DataFrame
  3. Noneправильный ответ
  4. Ошибка: нельзя сочетать inplace и присваивание

Разбор

С inplace=True метод меняет объект на месте и возвращает None, а присваивание перезаписывает переменную этим None. Ошибки нет, Python спокойно присвоит. Правильно выбрать одно: df = df.sort_values("a") (рекомендуемый стиль, удобен для цепочек) или df.sort_values("a", inplace=True) без присваивания. inplace обычно не экономит память, так что выигрыша от него нет.

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

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