- API reference
- DataFrame
- pandas.DataF...
pandas.DataFrame.swaplevel#
- DataFrame.swaplevel(i=-2,j=-1,axis=0)[source]#
Swap levels i and j in a
MultiIndex
.Default is to swap the two innermost levels of the index.
- Parameters:
- i, jint or str
Levels of the indices to be swapped. Can pass level name as string.
- axis{0 or ‘index’, 1 or ‘columns’}, default 0
The axis to swap levels on. 0 or ‘index’ for row-wise, 1 or‘columns’ for column-wise.
- Returns:
- DataFrame
DataFrame with levels swapped in MultiIndex.
Examples
>>>df=pd.DataFrame(...{"Grade":["A","B","A","C"]},...index=[...["Final exam","Final exam","Coursework","Coursework"],...["History","Geography","History","Geography"],...["January","February","March","April"],...],...)>>>df GradeFinal exam History January A Geography February BCoursework History March A Geography April C
In the following example, we will swap the levels of the indices.Here, we will swap the levels column-wise, but levels can be swapped row-wisein a similar manner. Note that column-wise is the default behaviour.By not supplying any arguments for i and j, we swap the last and second tolast indices.
>>>df.swaplevel() GradeFinal exam January History A February Geography BCoursework March History A April Geography C
By supplying one argument, we can choose which index to swap the lastindex with. We can for example swap the first index with the last one asfollows.
>>>df.swaplevel(0) GradeJanuary History Final exam AFebruary Geography Final exam BMarch History Coursework AApril Geography Coursework C
We can also define explicitly which indices we want to swap by supplying valuesfor both i and j. Here, we for example swap the first and second indices.
>>>df.swaplevel(0,1) GradeHistory Final exam January AGeography Final exam February BHistory Coursework March AGeography Coursework April C