В чём разница между iloc и loc

«В чём разница между iloc и loc» — вопрос из категории Pandas, который задают на 33% собеседований Аналитик Данных. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

iloc и loc — методы для доступа к данным в pandas, но работают по-разному:

  • loc — выбор по меткам (labels) строк и столбцов.
    Пример: df.loc[2, 'A'] — значение из строки с индексом 2 и столбца 'A'.
    Поддерживает слайсы по меткам ('a':'c') и булевы маски.

  • iloc — выбор по позициям (integer positions).
    Пример: df.iloc[0, 1] — первая строка, второй столбец (индексация с 0).
    Слайсы работают как в Python (0:3 — элементы 0, 1, 2).

import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}, index=['x', 'y', 'z'])

# loc — по меткам
print(df.loc['x', 'A'])  # 1

# iloc — по позициям
print(df.iloc[0, 1])     # 4 (первая строка, второй столбец)