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

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

```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.

```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