Spec-Zone.ru › pandas 2

pandas.DataFrame.swaplevel

DataFrame.swaplevel(i=-2, j=-1, axis=0)[source]

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

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

Параметры:
i, j:int или str

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

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

Ось, на которой нужно поменять местами уровни. 0 или ‘index’ для строк, 1 или ‘columns’ для столбцов.

Возвращает:
DataFrame

DataFrame с поменянными местами уровнями в MultiIndex.

Примеры

>>> df = pd.DataFrame(
...     {"Grade": ["A", "B", "A", "C"]},
...     index=[
...         ["Final exam", "Final exam", "Coursework", "Coursework"],
...         ["History", "Geography", "History", "Geography"],
...         ["January", "February", "March", "April"],
...     ],
... )
>>> df
                                    Grade
Final exam  History     January      A
            Geography   February     B
Coursework  History     March        A
            Geography   April        C

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

>>> df.swaplevel()
                                    Grade
Final exam  January     History         A
            February    Geography       B
Coursework  March       History         A
            April       Geography       C

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

>>> df.swaplevel(0)
                                    Grade
January     History     Final exam      A
February    Geography   Final exam      B
March       History     Coursework      A
April       Geography   Coursework      C

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

>>> df.swaplevel(0, 1)
                                    Grade
History     Final exam  January         A
Geography   Final exam  February        B
History     Coursework  March           A
Geography   Coursework  April           C

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

Spec-Zone.ru

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