pandas.core.groupby.DataFrameGroupBy.take#
-
DataFrameGroupBy.take(индексы, axis=
, **kwargs)[источник]# Возвращает элементы в заданном позиционный индексы в каждой группе.
Это означает, что мы индексируем не по фактическим значениям в атрибуте индекса объекта. Мы индексируем по фактической позиции элемента в объекте.
Если запрошенный индекс не существует для некоторой группы, этот метод вызовет ошибку. Чтобы получить аналогичное поведение, игнорирующее несуществующие индексы, см.
DataFrameGroupBy.nth().- Параметры:
- индексыarray-like
Массив целых чисел, указывающих, какие позиции брать.
- ось{0 или 'index', 1 или 'columns', None}, по умолчанию 0
Ось, по которой выбираются элементы.
0означает, что мы выбираем строки,1означает, что мы выбираем столбцы.Устарело с версии 2.1.0: Для axis=1, работайте с базовым объектом вместо этого. В противном случае ключевое слово axis не требуется.
- **kwargs
Для совместимости с
numpy.take(). Не влияет на вывод.
- Возвращает:
- DataFrame
DataFrame, содержащий элементы, взятые из каждой группы.
Смотрите также
DataFrame.takeВозьмите элементы из Series вдоль оси.
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), ... ('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.groupby([1, 1, 2, 2, 2])
Берет элементы на позициях 0 и 1 вдоль оси 0 (по умолчанию).
Обратите внимание, как индексы, выбранные в результате, не соответствуют нашим входным индексам 0 и 1. Это потому, что мы выбираем 0-ю и 1-ю строки, а не строки, чьи индексы равны 0 и 1.
>>> gb.take([0, 1]) name class max_speed 1 4 falcon bird 389.0 3 parrot bird 24.0 2 2 lion mammal 80.5 1 monkey mammal NaN
Порядок указанных индексов влияет на порядок в результате. Здесь порядок изменен по сравнению с предыдущим примером.
>>> gb.take([1, 0]) name class max_speed 1 3 parrot bird 24.0 4 falcon bird 389.0 2 1 monkey mammal NaN 2 lion mammal 80.5
Взять элементы по индексам 1 и 2 вдоль оси 1 (выбор столбцов).
Мы можем использовать отрицательные целые числа для положительных индексов, начиная с конца объекта, как и в списках Python.
>>> gb.take([-1, -2]) name class max_speed 1 3 parrot bird 24.0 4 falcon bird 389.0 2 0 rabbit mammal 15.0 1 monkey mammal NaN