pandas.Series.iloc#
- свойство Series.iloc[источник]#
Индексирование, основанное исключительно на целочисленных позициях для выбора по позиции.
Устарело с версии 2.2.0: Возврат кортежа из вызываемого объекта устарел.
.iloc[]в основном основан на целочисленной позиции (от0tolength-1оси), но также может использоваться с булевым массивом.Допустимые входные данные:
Целое число, например.
5.Список или массив целых чисел, например.
[4, 3, 0].Объект среза с целыми числами, например
1:7.Булев массив.
A
callableфункция с одним аргументом (вызывающий Series или DataFrame), которая возвращает допустимый вывод для индексирования (один из вышеперечисленных). Это полезно в цепочках методов, когда у вас нет ссылки на вызывающий объект, но вы хотите основывать выбор на некотором значении.Кортеж индексов строк и столбцов. Элементы кортежа состоят из одного из вышеуказанных входных данных, например.
(0, 1).
.ilocвызовет исключениеIndexErrorесли запрошенный индексатор выходит за границы, за исключением срез индексаторы, которые допускают индексацию за пределами диапазона (это соответствует python/numpy срез семантика).Подробнее см. Выбор по позиции.
Смотрите также
DataFrame.iatБыстрый доступ к скаляру по целочисленной позиции.
DataFrame.locЧисто меточный индексатор для выбора по метке.
Series.ilocИндексирование, основанное исключительно на целочисленных позициях для выбора по позиции.
Примеры
>>> mydict = [{'a': 1, 'b': 2, 'c': 3, 'd': 4}, ... {'a': 100, 'b': 200, 'c': 300, 'd': 400}, ... {'a': 1000, 'b': 2000, 'c': 3000, 'd': 4000}] >>> df = pd.DataFrame(mydict) >>> df a b c d 0 1 2 3 4 1 100 200 300 400 2 1000 2000 3000 4000
Индексирование только строк
Со скалярным целым числом.
>>> type(df.iloc[0])
>>> df.iloc[0] a 1 b 2 c 3 d 4 Name: 0, dtype: int64 Список целых чисел.
>>> df.iloc[[0]] a b c d 0 1 2 3 4 >>> type(df.iloc[[0]])
>>> df.iloc[[0, 1]] a b c d 0 1 2 3 4 1 100 200 300 400
С помощью срез объект.
>>> df.iloc[:3] a b c d 0 1 2 3 4 1 100 200 300 400 2 1000 2000 3000 4000
С булевой маской той же длины, что и индекс.
>>> df.iloc[[True, False, True]] a b c d 0 1 2 3 4 2 1000 2000 3000 4000
С вызываемым объектом, полезно в цепочках методов. x переданы в
lambdaэто DataFrame, который нарезается. Это выбирает строки, чья метка индекса четная.>>> df.iloc[lambda x: x.index % 2 == 0] a b c d 0 1 2 3 4 2 1000 2000 3000 4000
Индексирование по обеим осям
Вы можете смешивать типы индексаторов для индекса и столбцов. Используйте
:для выбора всей оси.Со скалярными целыми числами.
>>> df.iloc[0, 1] 2
Со списками целых чисел.
>>> df.iloc[[0, 2], [1, 3]] b d 0 2 4 2 2000 4000
С срез объекты.
>>> df.iloc[1:3, 0:3] a b c 1 100 200 300 2 1000 2000 3000
С булевым массивом, длина которого соответствует столбцам.
>>> df.iloc[:, [True, False, True, False]] a c 0 1 3 1 100 300 2 1000 3000
С вызываемой функцией, которая ожидает Series или DataFrame.
>>> df.iloc[:, lambda df: [0, 2]] a c 0 1 3 1 100 300 2 1000 3000