DataFrame df имеет index=['a', 'b', 'c', 'd'] и столбец 'value'. Чем отличается df.iloc[1] от df.loc['b'] при обращении к одной и той же строке?
iloc[1] ищет строку по целочисленной позиции, loc['b'] — по метке индекса; данные в результате совпадают, механизм — разный
loc['b'] ищет строку по позиции, iloc[1] — по метке индекса; при совпадении числа и метки результаты всегда расходятся
iloc[1] возвращает DataFrame с одной строкой, а loc['b'] возвращает скалярное значение первого столбца
iloc[1] включает правую границу среза, loc['b'] — нет; поэтому строки в результате всегда отличаются
iloc[1] и loc['b'] работают одинаково и полностью взаимозаменяемы при любом индексе DataFrame