I have a df that looks like this:
mux = pd.MultiIndex(levels=[['A', 'B', 'C', 'D']],labels=[[2, 3, 0, 1]])
df = pd.DataFrame({'a':range(4)}, index=mux)
How can I drop the empty level to form a single-index df? I have tried
pd.MultiIndex.droplevel(df, level=0)
But got the following error:
AttributeError: 'DataFrame' object has no attribute 'levels'
Where did I get wrong?
I have also tried the following, but the index matching for some reason gets messed up (eg. the original row for 'A' is matched with 'B'), even it I use sort_index.
df.index=df.index.levels[0]