跳到内容

numpy2-弃用 (NPY201)

有时提供修复。

作用

检查对 NumPy 2.0 中已从主命名空间中移除的 NumPy 函数和常量的使用。

为什么这不好?

NumPy 2.0 包括对 NumPy Python API 的全面改造,旨在删除冗余的别名和例程,并建立明确的机制来访问常量、数据类型和函数。

作为此改造的一部分,各种已弃用的 NumPy 函数和常量已从主命名空间中移除。

这些函数和常量中的大多数可以自动替换为 NumPy API 的其他成员或 Python 标准库中的等效项。 除了将 numpy.byte_bounds 重命名为 numpy.lib.array_utils.byte_bounds 之外,所有此类替换都与 NumPy 的早期版本向后兼容。

此规则标记所有已移除成员的使用,以及任何向后兼容替换的自动修复。

示例

import numpy as np

arr1 = [np.Infinity, np.NaN, np.nan, np.PINF, np.inf]
arr2 = [np.float_(1.5), np.float64(5.1)]
np.round_(arr2)

建议改为

import numpy as np

arr1 = [np.inf, np.nan, np.nan, np.inf, np.inf]
arr2 = [np.float64(1.5), np.float64(5.1)]
np.round(arr2)