当前位置: 首页 > 知识库问答 >
问题:

.loc、.iloc和不推荐使用的.ix的速度。为什么不使用.ix?

王辉
2023-03-14

关于堆栈溢出,有多个问题比较loc、iloc和ix,比如这一个,还有多个问题讨论速度差异,比如这一个。似乎大家的共识是.ix速度更快,但它已被弃用。

这就引出了我的问题,如果. ix更快,尤其是在基于标签的索引中,为什么要弃用它?为什么你不想使用更快的方法?我发现弃用. ix的唯一原因是它混淆了人们,因为它对标签和整数都有效。我是不是漏了什么?或者. ix的唯一缺点是它令人困惑,因此将来可能不支持?

另外,还有关于三种方法实施的附带问题。为什么.ix更快、更不具体。这对我来说似乎是违反直觉的。我认为一种方法越通用,速度就越慢。为什么不编写loc和iloc,使其像.ix一样更快?

共有1个答案

通典
2023-03-14

ix必须对标签的含义做出假设。这不是直观的行为,可能会导致拐角处的严重破损(例如,当列标签本身是整数时)。使用loc,您只能传递标签。使用iloc,只能传递整数位置索引。输入是明显的,输出也是明显的。

现在,提到的速度差是毫秒或微秒级,这是一个“认真的,不要担心™" 有点不同。我认为这是一个更稳定、更稳定的API的有效折衷。

 类似资料:
  • 问题内容: 有人可以解释这三种切片方法有何不同吗? 我看过文档,也看过这些 答案,但是我仍然发现自己无法解释这三者之间的区别。在我看来,它们在很大程度上似乎是可互换的,因为它们处于切片的较低级别。 例如,假设我们要获取的前五行。这三者如何运作? 有人可以提出三种用法之间的区别更清楚的情况吗? 问题答案: 注意:在熊猫版本0.20.0及更高版本中,已弃用,建议改为使用loc和iloc。我留下了ix完

  • 问题内容: 众所周知,Java 中的接口已损坏。造成这种情况的原因很多,我将不再赘述。其他人已经做到了。这也是Java架构师本身的立场。 因此,我的问题是:为什么还不被弃用?如果核心Java团队已确定它已损坏,那么他们还必须考虑过时。他们反对这样做的原因是什么(在Java 8中仍不建议弃用)? 问题答案: 有一个错误在1997年提交给Java的错误数据库有关添加方法,所以将不再是无用的。它以“无法

  • 问题内容: 我曾经在hibernate 3中使用getHibernateTemplate(),现在我转向了Hibernate 4,在这里我找不到以下类: 在这里我已经阅读过有关它的更多信息,不建议使用 http://forum.springsource.org/showthread.php?117227-Missing-Hibernate- Classes-Interfaces-in-spring

  • 问题内容: 我正在将hibernate项目配置为使用第二级缓存提供程序,以便可以利用查询缓存。 我向ehcache添加了一个依赖项: 我认为我要使用的提供程序类是: 在eclipse中查看引用的库时,我在和上都看到了注释。是什么赋予了?我可以使用最新的替代供应商吗? 我正在使用hibernate版本3.4.0.GA,以防万一。 问题答案: 是什么赋予了?我可以使用最新的替代供应商吗? 不推荐使用它

  • 问题内容: 我曾经在hibernate 3中使用getHibernateTemplate(),现在我转向了Hibernate 4,在这里我找不到以下类: 有人可以解释我为什么吗?在hibernate4中,我现在需要执行所有任务,例如提交,关闭,刷新由getHibernateTemplate()方法自动管理的事务? 问题答案: 因为它的主要目的是使Hibernate会话绑定到当前的Spring事务(

  • 参考这个答案,Lev说包括开始和停止索引,所以我尝试了这个: 但它们也不同。为什么啊? 有人能帮我吗?