pandas.Series.iloc
- propertySeries.iloc[source]
-
Индексация по чисто целочисленным позициям для выбора по положению.
.iloc[]в основном основана на целочисленных позициях (от0доlength-1оси), но также может использоваться с булевым массивом.Допустимые входные данные:
Целое число, например
5.Список или массив целых чисел, например
[4, 3, 0].Объект среза с целыми числами, например
1:7.Булевый массив.
Функция
callableс одним аргументом (вызываемый Series или DataFrame), которая возвращает допустимый результат для индексации (один из вышеперечисленных). Это полезно в цепочках методов, когда у вас нет ссылки на вызываемый объект, но вы хотите основывать свой выбор на каком-либо значении.Кортеж индексов строк и столбцов. Элементы кортежа состоят из одного из вышеперечисленных входных данных, например
(0, 1).
.ilocвызоветIndexErrorесли запрошенный индексатор находится вне пределов, за исключением индексаторов slice, которые допускают индексацию вне пределов (это соответствует семантике python/numpy slice).См. больше в Выбор по позиции.
См. также
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]) <class 'pandas.core.series.Series'> >>> 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]]) <class 'pandas.core.frame.DataFrame'>
>>> df.iloc[[0, 1]] a b c d 0 1 2 3 4 1 100 200 300 400С объектом slice.
>>> 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С вызываемой функцией, полезной в цепочках методов. Передаваемый в
lambdax — это 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С объектами slice.
>>> 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
© 2008–2022, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/1.5.0/reference/api/pandas.Series.iloc.html