首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >.ix()总是比.loc()和.iloc()好,因为它更快,并且支持整数和标签访问?

.ix()总是比.loc()和.iloc()好,因为它更快,并且支持整数和标签访问?
EN

Stack Overflow用户
提问于 2014-12-27 21:35:22
回答 1查看 74.6K关注 0票数 68

我正在学习Python pandas库。来自R背景,索引和选择函数看起来比它们需要的更复杂。我的理解是.loc()仅基于标签,而.iloc()仅基于整数。

如果.loc()更快并且支持整数和标签访问,我为什么还要使用.ix()和.iloc()?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-27 21:40:38

请参考Different Choices for Indexing文档,它清楚地说明了您应该在什么时候以及为什么使用.loc,.iloc over .ix,它是关于明确的用例:

.ix支持混合整数和基于标签的访问。它主要是基于标签的,但将回退到整数位置访问,除非相应的轴是整数类型。.ix是最通用的,可以支持.loc和.iloc中的任何输入。.ix还支持浮点标签方案。在处理基于位置和标签的混合层次索引时,.ix特别有用。

但是,如果轴是基于整数的,则仅支持基于标签的访问,而不支持位置访问。因此,在这种情况下,显式地使用.iloc或.loc通常更好。

希望这能有所帮助。

更新22 2017年3月

感谢@Alexander的评论,Pandas将在0.20中弃用ix,详细信息请参见here

背后的一个强大原因是因为混合索引-位置和标签(有效地使用ix)已经成为用户问题的一个重要来源。

预计它将迁移到使用ilocloc,这里是how to convert code上的链接。

票数 71
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27667759

复制
相关文章

相似问题

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