Spec-Zone.ru › pandas 2

pandas.Series.swaplevel

Series.swaplevel(i=-2, j=-1, copy=None)[source]

Меняет местами уровни i и j в MultiIndex.

По умолчанию меняются два самых внутренних уровня индекса.

Parameters:
i, j:int или str

Уровни индексов, которые нужно поменять местами. Можно передать имя уровня в виде строки.

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

Копировать ли исходные данные.

Примечание

Ключевое слово copy изменит поведение в pandas 3.0. Copy-on-Write будет включено по умолчанию, что означает, что все методы с ключевым словом copy будут использовать механизм ленивой копии, чтобы отложить копирование и игнорировать ключевое слово copy. Ключевое слово copy будет удалено в будущей версии pandas.

Вы уже можете получить будущие поведение и улучшения, включив копирование при записи pd.options.mode.copy_on_write = True

Returns:
Series

Series с поменявшимися местами уровнями в MultiIndex.

Примеры

>>> s = pd.Series(
...     ["A", "B", "A", "C"],
...     index=[
...         ["Final exam", "Final exam", "Coursework", "Coursework"],
...         ["History", "Geography", "History", "Geography"],
...         ["January", "February", "March", "April"],
...     ],
... )
>>> s
Final exam  History     January      A
            Geography   February     B
Coursework  History     March        A
            Geography   April        C
dtype: object

В следующем примере мы поменяем местами уровни индексов. Здесь мы поменяем местами уровни по столбцам, но уровни можно менять по строкам аналогичным образом. Обратите внимание, что по умолчанию происходит замена по столбцам. При отсутствии аргументов для i и j, мы меняем местами последний и предпоследний индексы.

>>> s.swaplevel()
Final exam  January     History         A
            February    Geography       B
Coursework  March       History         A
            April       Geography       C
dtype: object

Передав один аргумент, мы можем выбрать, с каким индексом поменять местами последний индекс. Например, мы можем поменять местами первый и последний индекс следующим образом.

>>> s.swaplevel(0)
January     History     Final exam      A
February    Geography   Final exam      B
March       History     Coursework      A
April       Geography   Coursework      C
dtype: object

Мы также можем явно определить, какие индексы поменять местами, передав значения для i и j. Например, здесь мы меняем местами первый и второй индексы.

>>> s.swaplevel(0, 1)
History     Final exam  January         A
Geography   Final exam  February        B
History     Coursework  March           A
Geography   Coursework  April           C
dtype: object

© 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.Series.swaplevel.html

Spec-Zone.ru

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