首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >swaplevel()和reorder_levels()有什么不同?

swaplevel()和reorder_levels()有什么不同?
EN

Stack Overflow用户
提问于 2019-01-15 09:56:18
回答 1查看 934关注 0票数 2

在pandas中使用分层索引级别时,swaplevel()reorder_levels()之间的区别是什么

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-15 10:12:20

当只有两个级别的swaplevelreorder_levels几乎相同时,但当你的df有超过3个级别时,个人认为reorder_levels是更优雅的方式

例如:

代码语言:javascript
复制
idx = pd.MultiIndex.from_arrays([[1, 1, 2], [1, 2, 2], [3, 3, 3],[1,1,1]])
df = pd.DataFrame(columns=idx, index=[1, 2, 3, 4])

如果我们想要将order level=0,1,2,3更改为3,2,1,0

使用swaplevel:需要多个调用

代码语言:javascript
复制
df.swaplevel(0,3,axis=1).swaplevel(1,2,axis=1)
     1          
     3          
     1    2     
     1    1    2
1  NaN  NaN  NaN
2  NaN  NaN  NaN
3  NaN  NaN  NaN
4  NaN  NaN  NaN

使用reorder_levels:只有一个调用

代码语言:javascript
复制
df.reorder_levels([3,2,1,0],axis=1)
     1          
     3          
     1    2     
     1    1    2
1  NaN  NaN  NaN
2  NaN  NaN  NaN
3  NaN  NaN  NaN
4  NaN  NaN  NaN
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54191730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档