pandas.core.groupby.SeriesGroupBy.take
- SeriesGroupBy.take(indices, axis=_NoDefault.no_default, **kwargs)[source]
-
Возвращает элементы в заданных порядковых индексах в каждой группе.
Это означает, что мы индексируем не по фактическим значениям в атрибуте индекса объекта, а по фактической позиции элемента в объекте.
Если для какой-либо группы запрошенный индекс не существует, этот метод выдаст ошибку. Чтобы получить аналогичное поведение, игнорирующее индексы, которые не существуют, см.
SeriesGroupBy.nth().- Parameters:
-
- indices:array-like
-
Массив целых чисел, указывающий позиции для взятия в каждой группе.
- axis:{0 или ‘index’, 1 или ‘columns’, None}, по умолчанию 0
-
Ось, на которой следует выбрать элементы.
0означает, что мы выбираем строки,1означает, что мы выбираем столбцы. Для SeriesGroupBy этот параметр не используется и по умолчанию равен 0.Устарело начиная с версии 2.1.0: Для axis=1, работайте с базовым объектом вместо этого. В противном случае ключевое слово axis не нужно.
- **kwargs
-
Для совместимости с
numpy.take(). Не оказывает влияния на вывод.
- Returns:
-
- Series
-
Series, содержащая элементы, взятые из каждой группы.
См. также
Series.take-
Взятие элементов из Series вдоль оси.
Series.loc-
Выбор подмножества DataFrame по меткам.
Series.iloc-
Выбор подмножества DataFrame по позициям.
numpy.take-
Взятие элементов из массива вдоль оси.
SeriesGroupBy.nth-
Аналогично take, не будет генерировать ошибку, если индексы отсутствуют.
Примеры
>>> df = pd.DataFrame([('falcon', 'bird', 389.0), ... ('parrot', 'bird', 24.0), ... ('lion', 'mammal', 80.5), ... ('monkey', 'mammal', np.nan), ... ('rabbit', 'mammal', 15.0)], ... columns=['name', 'class', 'max_speed'], ... index=[4, 3, 2, 1, 0]) >>> df name class max_speed 4 falcon bird 389.0 3 parrot bird 24.0 2 lion mammal 80.5 1 monkey mammal NaN 0 rabbit mammal 15.0 >>> gb = df["name"].groupby([1, 1, 2, 2, 2])Взятие элементов в позициях 0 и 1 вдоль оси 0 в каждой группе (по умолчанию).
>>> gb.take([0, 1]) 1 4 falcon 3 parrot 2 2 lion 1 monkey Name: name, dtype: object
Мы можем брать элементы, используя отрицательные целые числа для положительных индексов, начиная с конца объекта, так же, как и с Python-списками.
>>> gb.take([-1, -2]) 1 3 parrot 4 falcon 2 0 rabbit 1 monkey Name: name, dtype: object
© 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/2.2.2/reference/api/pandas.core.groupby.SeriesGroupBy.take.html