弃用 DataFrame.ix 是什么意思?
What does it mean for DataFrame.ix to be deprecated?
假设我在某些代码中使用 DataFrame.ix
。
它被弃用的事实是否意味着在未来的某个时候,我将更新 pandas,然后稍后,使用该代码的东西将神秘地开始崩溃,因为他们最终决定,他们将实际删除 ix
?
是的,这里弃用意味着该属性或方法已从较新版本中删除。因此,建议在您的代码中避免使用它们以避免将来出现问题。
这是弃用的基本思想。该库的维护者现在让您知道他们计划停止支持 ix
(例如,修复其中的错误),并且很可能在不久的将来将其删除。只要它被弃用,您就有 window 机会更改您的代码以使用其他替代方案(例如 loc
和 iloc
),在您被迫之前在 pandas 中断 "under your feet".
时这样做
AFAIK,Pandas 没有像 the Python stdlib and NumPy 那样明确定义他们的弃用政策。
但他们确实会跟踪 #6581: DEPR: deprecations from prior versions and #13777: DEPR: deprecations log for removed issues 中所有过去的、正在进行的和计划中的弃用,他们说:
We try to keep these for three major versions as actual deprecations. e.g. deprecate in 0.17, 0.18 & 0.19 get the warning, removed in 0.20.
专门在#14220: DEPR: 0.21 deprecations master issue, which includes #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 倍,并且没有好的解决方法,他们可能会撤销弃用,直到他们想出更好的方法。
综上所述,如果您查看历史列表,不按计划进行的弃用似乎很少见。
假设我在某些代码中使用 DataFrame.ix
。
它被弃用的事实是否意味着在未来的某个时候,我将更新 pandas,然后稍后,使用该代码的东西将神秘地开始崩溃,因为他们最终决定,他们将实际删除 ix
?
是的,这里弃用意味着该属性或方法已从较新版本中删除。因此,建议在您的代码中避免使用它们以避免将来出现问题。
这是弃用的基本思想。该库的维护者现在让您知道他们计划停止支持 ix
(例如,修复其中的错误),并且很可能在不久的将来将其删除。只要它被弃用,您就有 window 机会更改您的代码以使用其他替代方案(例如 loc
和 iloc
),在您被迫之前在 pandas 中断 "under your feet".
AFAIK,Pandas 没有像 the Python stdlib and NumPy 那样明确定义他们的弃用政策。
但他们确实会跟踪 #6581: DEPR: deprecations from prior versions and #13777: DEPR: deprecations log for removed issues 中所有过去的、正在进行的和计划中的弃用,他们说:
We try to keep these for three major versions as actual deprecations. e.g. deprecate in 0.17, 0.18 & 0.19 get the warning, removed in 0.20.
专门在#14220: DEPR: 0.21 deprecations master issue, which includes #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 倍,并且没有好的解决方法,他们可能会撤销弃用,直到他们想出更好的方法。
综上所述,如果您查看历史列表,不按计划进行的弃用似乎很少见。