Выбор ответа Junior Выборка и фильтрация спрашивают часто обновлено

Правая граница среза в loc и iloc

Вопрос

У df индекс 0..9 (RangeIndex). Сколько строк вернут df.loc[0:3] и df.iloc[0:3]?

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

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

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

Коротко

Правильный ответ: 4 и 3. loc режет по меткам и включает правую границу: метки 0, 1, 2, 3, то есть 4 строки. iloc режет по позициям как обычный Python и правую границу не включает: 3 строки.

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

  1. 4 и 3правильный ответ
  2. 3 и 3
  3. 3 и 4
  4. 4 и 4

Разбор

loc режет по меткам и включает правую границу: метки 0, 1, 2, 3, то есть 4 строки. iloc режет по позициям как обычный Python и правую границу не включает: 3 строки. Совпадение меток и позиций в RangeIndex как раз и прячет эту разницу, пока индекс не перемешается после фильтра или сортировки.

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

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

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