Встречается на собеседованиях • сегодня

В чем отличия между loc и iloc

Методы `loc` и `iloc` предназначены для доступа к данным в DataFrame или Series, но они используют разные способы индексации.`loc`
Использует метки для доступа к данным. Это означает, что вы используете имена строк и столбцов, которые вы видите на выводе вашего DataFrame или Series для выборки данных. Метод `loc` может использоваться для доступа к отдельным значениям, срезам, а также условной индексации.

text
```python
import pandas as pd

data = pd.DataFrame({
    'A': [1, 2, 3],
    'B': [4, 5, 6]
}, index=['a', 'b', 'c'])

# Доступ к элементу с индексом 'b' и столбцом 'A'
print(data.loc['b', 'A'])  # Вывод: 2

# Срез данных, включающий строки 'a' и 'b'
print(data.loc['a':'b'])
```

`iloc`
Использует целочисленную индексацию для доступа к данным, независимо от меток, которые установлены на индексах или столбцах DataFrame. Это означает, что вы используете числа, чтобы указать, какие строки или столбцы вы хотите выбрать, начиная от 0.

text
```python
import pandas as pd

data = pd.DataFrame({
    'A': [1, 2, 3],
    'B': [4, 5, 6]
}, index=['a', 'b', 'c'])

# Доступ к элементу во второй строке и первом столбце (индексация начинается с 0)
print(data.iloc[1, 0])  # Вывод: 2

# Срез данных, включающий первые две строки
print(data.iloc[0:2])
```

Основные отличия

  • Тип индексации: `loc` работает с метками (названиями строк и столбцов), в то время как `loc` работает с целочисленными позициями.
  • Использование срезов: Срезы в `loc` включают оба конца диапазона (закрытый интервал), в то время как срезы в `iloc` исключают последний элемент, как в обычной индексации списков Python.

Используйте `loc`, если знаете имена строк или столбцов, к которым хотите обратиться. Используйте `iloc`, когда вам удобнее работать с числовыми индексами, как в массивах. Это как разница между выбором книги по названию или по номеру на полке.

May 22, 2024, easyoffer

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы