Spec-Zone.ru › pandas 0.23

pandas.Series.take

Series.take(indices, axis=0, convert=None, is_copy=True, **kwargs) [source]

Возвращает элементы по заданным порядковым индексам вдоль оси.

Это означает, что мы не индексируем по фактическим значениям в атрибуте индекса объекта. Мы индексируем по фактическому положению элемента в объекте.

Параметры:

indices : массив-подобный объект

Массив целых чисел, указывающий позиции для извлечения элементов.

axis : {0 или ‘index’, 1 или ‘columns’, None}, по умолчанию 0

Ось, по которой выбирать элементы. 0 означает, что мы выбираем строки, 1 означает, что мы выбираем столбцы.

convert : bool, по умолчанию True

Преобразовывать ли отрицательные индексы в положительные. Например, -1 будет сопоставлен с len(axis) - 1. Преобразования аналогичны поведению индексирования обычного списка Python.

Устарело начиная с версии 0.21.0: В будущем отрицательные индексы всегда будут преобразовываться.

is_copy : bool, по умолчанию True

Возвращать ли копию исходного объекта.

**kwargs

Для совместимости с numpy.take(). Не оказывает влияния на результат.

Возвращает:

taken : тип вызываемого объекта

Массив-подобный объект, содержащий элементы, извлеченные из объекта.

См. также

DataFrame.loc
Выбор подмножества DataFrame по меткам.
DataFrame.iloc
Выбор подмножества DataFrame по позициям.
numpy.take
Извлечение элементов из массива вдоль оси.

Примеры

>>> df = pd.DataFrame([('falcon', 'bird',    389.0),
...                    ('parrot', 'bird',     24.0),
...                    ('lion',   'mammal',   80.5),
...                    ('monkey', 'mammal', np.nan)],
...                    columns=['name', 'class', 'max_speed'],
...                    index=[0, 2, 3, 1])
>>> df
     name   class  max_speed
0  falcon    bird      389.0
2  parrot    bird       24.0
3    lion  mammal       80.5
1  monkey  mammal        NaN

Извлечение элементов в позициях 0 и 3 вдоль оси 0 (по умолчанию).

Обратите внимание, как фактические выбранные индексы (0 и 1) не соответствуют выбранным нами индексам 0 и 3. Это потому, что мы выбираем 0-ю и 3-ю строки, а не строки, индексы которых равны 0 и 3.

>>> df.take([0, 3])
     name   class  max_speed
0  falcon    bird      389.0
1  monkey  mammal        NaN

Извлечение элементов по индексам 1 и 2 вдоль оси 1 (выбор столбцов).

>>> df.take([1, 2], axis=1)
    class  max_speed
0    bird      389.0
2    bird       24.0
3  mammal       80.5
1  mammal        NaN

Мы можем извлекать элементы, используя отрицательные целые числа для положительных индексов, начиная с конца объекта, точно так же, как и в списках Python.

>>> df.take([-1, -2])
     name   class  max_speed
1  monkey  mammal        NaN
3    lion  mammal       80.5

© 2008–2012, 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/0.23.4/generated/pandas.Series.take.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API