pandas.Series.xs#
- Series.xs(ключ, ось=0, уровень=None, drop_level=True)[источник]#
Возвращает поперечное сечение из Series/DataFrame.
Этот метод принимает ключ аргумент для выбора данных на определенном уровне MultiIndex.
- Параметры:
- ключметка или кортеж меток
Метка, содержащаяся в индексе, или частично в MultiIndex.
- ось{0 или 'index', 1 или 'columns'}, по умолчанию 0
Ось для получения поперечного сечения.
- уровеньобъект, по умолчанию первые n уровней (n=1 или len(key))
В случае частичного содержания ключа в MultiIndex, укажите какие уровни используются. Уровни могут быть указаны по метке или позиции.
- drop_levelbool, по умолчанию True
Если False, возвращает объект с теми же уровнями, что и self.
- Возвращает:
- Series или DataFrame
Сечение из исходного Series или DataFrame, соответствующее выбранным уровням индекса.
Смотрите также
DataFrame.locДоступ к группе строк и столбцов по метке(ам) или булевому массиву.
DataFrame.ilocИндексирование, основанное исключительно на целочисленных позициях для выбора по позиции.
Примечания
xs не может использоваться для установки значений.
MultiIndex Slicers — это универсальный способ получения/установки значений на любом уровне или уровнях. Это надмножество xs функциональности, см. Слайсеры MultiIndex.
Примеры
>>> 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