Spec-Zone.ru › pandas 0.24

pandas.core.groupby.DataFrameGroupBy.take

DataFrameGroupBy.take

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

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

Параметры:
indices : array-like

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

axis : {0 or ‘index’, 1 or ‘columns’, None}, default 0

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

convert : bool, default True

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

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

is_copy : bool, default True

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

**kwargs

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

Возвращает:
taken : same type as caller

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

См. также

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.24.2/reference/api/pandas.core.groupby.DataFrameGroupBy.take.html

Spec-Zone.ru

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