假设我在某些代码中使用DataFrame.ix
。
是否已弃用这一事实是否意味着在将来的某个时刻,我将更新熊猫,然后过一会儿,使用该代码的内容就会神秘地破坏,因为他们最终决定,要实际删除ix
?
答案 0 :(得分:5)
这是弃用的基本思想。图书馆的维护人员现在通知您,他们计划停止支持ix
(例如,修复其中的错误),并很可能在不久的将来将其删除。只要不推荐使用,您就有机会根据自己的意愿将代码更改为使用其他替代方式(例如loc
和iloc
),然后才被迫这样做熊猫在“脚下”折断。
答案 1 :(得分:2)
FAIK,熊猫没有像the Python stdlib和NumPy那样明确定义其弃用政策。
但是他们确实跟踪#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
可能再也没有任何改进或修正。但这并不是一成不变的。例如,如果发现.ix
中一个真正关键的错误,而去年却没人知道,则他们可能会决定修复该错误-或比计划早地删除该功能。或者,如果事实证明.ix
的某些使用速度比.iloc
慢18倍,并且没有很好的解决方法,那么他们可能会撤销弃用标准,直到可以提出更好的建议为止。
话虽如此,如果您查看历史记录列表,弃用不按计划进行的情况似乎很少见。
答案 2 :(得分:1)
是,此处不赞成使用,表示该属性或方法已从较新版本中删除。因此,建议在您的代码中避免使用它们,以避免将来出现问题。