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