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

loc и iloc на перевёрнутом индексе

Вопрос

Что выведет код? По строке на каждый print.

import pandas as pd
s = pd.Series([10, 20, 30, 40], index=[3, 2, 1, 0])
print(s.loc[2:0].tolist())
print(s.iloc[0:2].tolist())
print(s.loc[0:2].tolist())

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

Напишите, что выведет код: каждый вывод с новой строки.

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

Коротко

Код выведет: [20, 30, 40], [10, 20], []. loc[2:0] идёт по меткам в порядке индекса от метки 2 до метки 0 включительно: 20, 30, 40. iloc[0:2] берёт первые две позиции. loc[0:2] ищет метку 0, а она последняя, и до метки 2 вперёд дойти нельзя, поэтому срез пуст.

Что выведет

[20, 30, 40]
[10, 20]
[]

Разбор

loc[2:0] идёт по меткам в порядке индекса от метки 2 до метки 0 включительно: 20, 30, 40. iloc[0:2] берёт первые две позиции. loc[0:2] ищет метку 0, а она последняя, и до метки 2 вперёд дойти нельзя, поэтому срез пуст.

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

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

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