How to remove levels from a multi-indexed dataframe?

≡放荡痞女 提交于 2019-11-27 17:48:59
df.reset_index(level=2, drop=True)
Out[29]: 
     A
1 1  8
  3  9
Andy Hayden

You don't need to create a new DataFrame instance! You can modify the index:

df.index = df.index.droplevel(2)
df

     A
1 1  8
  3  9

You can also specify negative indices, for selection from the end:

df.index = df.index.droplevel(-1)

If your index has names like

       A
X Y Z
1 1 1  8
  3 2  9

Then you can also remove by specifying the index name

df.index = df.index.droplevel(Z)

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!