Выбор ответа 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 строки.
Варианты ответа
- 4 и 3правильный ответ
- 3 и 3
- 3 и 4
- 4 и 4
Разбор
loc режет по меткам и включает правую границу: метки 0, 1, 2, 3, то есть 4 строки. iloc режет по позициям как обычный Python и правую границу не включает: 3 строки. Совпадение меток и позиций в RangeIndex как раз и прячет эту разницу, пока индекс не перемешается после фильтра или сортировки.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.