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