Spec-Zone.ru › pandas 2

pandas.DataFrame.xs

DataFrame.xs(key, axis=0, level=None, drop_level=True)[source]

Возвращает поперечный срез из Series/DataFrame.

Этот метод принимает аргумент key для выбора данных на определённом уровне MultiIndex.

Параметры:
key:метка или кортеж меток

Метка, содержащаяся в индексе, или частично в MultiIndex.

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

Ось для извлечения поперечного среза.

level:объект, по умолчанию первые n уровни (n=1 или len(ключ))

В случае, если ключ частично содержится в MultiIndex, укажите, какие уровни использовать. Уровни можно обозначать меткой или позицией.

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

Если False, возвращает объект с теми же уровнями, что и исходный.

Возвращает:
Series или DataFrame

Поперечный срез из исходной Series или DataFrame, соответствующий выбранным уровням индекса.

См. также

DataFrame.loc

Доступ к группе строк и столбцов по метке(ам) или булевому массиву.

DataFrame.iloc

Индексирование только по целочисленным позициям для выбора по положению.

Примечания

xs не может использоваться для задания значений.

MultiIndex Slicers — это универсальный способ получения/задания значений на любом уровне или уровнях. Это супермножество функциональности xs, см. MultiIndex Slicers.

Примеры

>>> d = {'num_legs': [4, 4, 2, 2],
...      'num_wings': [0, 0, 2, 2],
...      'class': ['mammal', 'mammal', 'mammal', 'bird'],
...      'animal': ['cat', 'dog', 'bat', 'penguin'],
...      'locomotion': ['walks', 'walks', 'flies', 'walks']}
>>> df = pd.DataFrame(data=d)
>>> df = df.set_index(['class', 'animal', 'locomotion'])
>>> df
                           num_legs  num_wings
class  animal  locomotion
mammal cat     walks              4          0
       dog     walks              4          0
       bat     flies              2          2
bird   penguin walks              2          2

Получение значений по указанному индексу

>>> df.xs('mammal')
                   num_legs  num_wings
animal locomotion
cat    walks              4          0
dog    walks              4          0
bat    flies              2          2

Получение значений по нескольким индексам

>>> df.xs(('mammal', 'dog', 'walks'))
num_legs     4
num_wings    0
Name: (mammal, dog, walks), dtype: int64

Получение значений по указанному индексу и уровню

>>> df.xs('cat', level=1)
                   num_legs  num_wings
class  locomotion
mammal walks              4          0

Получение значений по нескольким индексам и уровням

>>> df.xs(('bird', 'walks'),
...       level=[0, 'locomotion'])
         num_legs  num_wings
animal
penguin         2          2

Получение значений по указанному столбцу и оси

>>> df.xs('num_wings', axis=1)
class   animal   locomotion
mammal  cat      walks         0
        dog      walks         0
        bat      flies         2
bird    penguin  walks         2
Name: num_wings, dtype: int64

© 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.DataFrame.xs.html

Spec-Zone.ru

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