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')) num_legs num_wings locomotion walks 4 0Получение значений по указанному индексу и уровню
>>> 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/1.5.0/reference/api/pandas.DataFrame.xs.html