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