不推荐使用DataFrame.ix是什么意思?

时间:2018-07-17 21:30:27

标签: python pandas deprecated

假设我在某些代码中使用DataFrame.ix

是否已弃用这一事实是否意味着在将来的某个时刻,我将更新熊猫,然后过一会儿,使用该代码的内容就会神秘地破坏,因为他们最终决定,要实际删除ix

3 个答案:

答案 0 :(得分:5)

这是弃用的基本思想。图书馆的维护人员现在通知您,他们计划停止支持ix(例如,修复其中的错误),并很可能在不久的将来将其删除。只要不推荐使用,您就有机会根据自己的意愿将代码更改为使用其他替代方式(例如lociloc),然后才被迫这样做熊猫在“脚下”折断。

答案 1 :(得分:2)

FAIK,熊猫没有像the Python stdlibNumPy那样明确定义其弃用政策。

但是他们确实跟踪#6581: DEPR: deprecations from prior versions#13777: DEPR: deprecations log for removed issues中过去,正在进行和计划中的所有弃用情况,他们说:

  

我们尝试将这三个主要版本保留为实际弃用版本。例如如果在0.17、0.18和0.19中弃用,则会收到警告,在0.20中已删除。

有专门针对#14220: DEPR: 0.21 deprecations master issue的类似评论,其中包括#14218: DEPR: deprecate .ix / #15113: DEPR: deprecate .ix in favor of .loc/.iloc

一些不推荐使用的功能保留的时间甚至更长。而且,如果在#6591中搜索.ix,您会发现这是其中之一。 #15113计划在1.0中移除,而不是0.24。

所以,这意味着:

  • .ix可能会在某些将来的版本中删除,目前预定为1.0。
  • .ix可能再也没有任何改进或修正。
  • 至少有0.21的替代品。

但这并不是一成不变的。例如,如果发现.ix中一个真正关键的错误,而去年却没人知道,则他们可能会决定修复该错误-或比计划早地删除该功能。或者,如果事实证明.ix的某些使用速度比.iloc慢18倍,并且没有很好的解决方法,那么他们可能会撤销弃用标准,直到可以提出更好的建议为止。

话虽如此,如果您查看历史记录列表,弃用不按计划进行的情况似乎很少见。

答案 2 :(得分:1)

是,此处不赞成使用,表示该属性或方法已从较新版本中删除。因此,建议在您的代码中避免使用它们,以避免将来出现问题。