DataFrame.iloc / Series.iloc

iloc — индексатор для доступа по целочисленным позициям (0-based), независимо от меток индекса. Это атрибут, а не метод: используется с квадратными скобками df.iloc[row, col].

Сигнатура

DataFrame.iloc[row_indexer, column_indexer]
Series.iloc[indexer]

Параметры

Индексаторы — целое число, список, срез start:stop или булев массив:

  • 5 — одна позиция.

  • [0, 2, 4] — список позиций.

  • 1:4 — срез (правая граница НЕ включена, в отличие от loc).

  • df["col"] > 0 — булева маска.

Возвращаемое значение

Скаляр, Series или DataFrame в зависимости от индексаторов.

Примеры

Пример 1. Одна строка по номеру

import pandas as pd

df = pd.DataFrame(
    {"temp": [22, 23, 24], "humidity": [55, 60, 58]},
    index=["a", "b", "c"],
)
print(df.iloc[1])
temp        23
humidity    60
Name: b, dtype: int64

Пример 2. Срез строк

import pandas as pd

df = pd.DataFrame({"v": [10, 20, 30, 40, 50]})
print(df.iloc[1:4])
    v
1  20
2  30
3  40

Пример 3. Строки и столбцы

import pandas as pd

df = pd.DataFrame({"a": [1, 2, 3], "b": [4, 5, 6], "c": [7, 8, 9]})
print(df.iloc[0:2, [0, 2]])
   a  c
0  1  7
1  2  8

Пример 4. Один элемент

import pandas as pd

df = pd.DataFrame({"x": [10, 20, 30], "y": [40, 50, 60]})
print(df.iloc[2, 1])
60

Пример 5. Последняя запись лога

import pandas as pd

log = pd.DataFrame({"cmd": ["FWD", "LEFT", "STOP"],
                    "t":   [0.0, 1.0, 2.5]})
print(log.iloc[-1])
cmd    STOP
t       2.5
Name: 2, dtype: object

См. также

Примечание

Лицензия и источники

Техническое описание функции адаптировано из официальной документации Pandas (https://pandas.pydata.org/docs/), BSD-3-Clause License. Примеры и пояснения — © AlashEd Wiki.