pythonintermediate

Pandas SwapLevel MultiIndex

Swap and sort MultiIndex levels in a hierarchical DataFrame for flexible aggregation.

python
import pandas as pd

arrays = [['A','A','B','B'],['x','y','x','y']]
idx = pd.MultiIndex.from_arrays(arrays, names=['group','sub'])
df = pd.DataFrame({'val':[10,20,30,40]}, index=idx)

# Swap levels so sub is first
swapped = df.swaplevel().sort_index()
print(swapped)
print(swapped.loc['x'])

Use Cases

  • hierarchical reporting
  • flexible aggregation
  • panel data

Tags

Related Snippets

Similar patterns you can reuse in the same workflow.