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

iloc после сортировки

Вопрос

После df = df.sort_values("price") нужна самая дешёвая позиция. Что вернёт её надёжно?

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

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

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

Коротко

Правильный ответ: df.iloc[0]. После сортировки индекс остаётся старым, поэтому метка 0 указывает на строку, которая была первой до сортировки, а не на самую дешёвую. iloc[0] берёт первую позицию. df[0] ищет колонку с названием 0. at[0, "price"] тоже работает по метке.

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

  1. df.loc[0]
  2. df.iloc[0]правильный ответ
  3. df[0]
  4. df.at[0, "price"]

Разбор

После сортировки индекс остаётся старым, поэтому метка 0 указывает на строку, которая была первой до сортировки, а не на самую дешёвую. iloc[0] берёт первую позицию. df[0] ищет колонку с названием 0. at[0, "price"] тоже работает по метке. Для этой задачи без сортировки есть nsmallest(1, "price") или idxmin.

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

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

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