The outermost level = 0,
the innermost level can be -1 or 1.
import pandas as pd
# 创建dataframe
header = pd.MultiIndex.from_product([['Semester1','Semester2'],['Maths','Science']])
d = [[12,45,67,56],[78,89,45,67],[45,67,89,90],[67,44,56,55]]
df = pd.DataFrame(d, index=['Alisa','Bobby','Cathrine','Jack'], columns=header)
df
stacked_df = df.stack()
stacked_df
# level 参数
df.stack(level=0)
df.stack(level=-1)
stacked_df.unstack()
stacked_df.unstack(level=0)