Numpy/scipy "rank" 的弃用警告
Numpy/scipy deprecation warning for "rank"
我有一些 python 使用 numpy 的代码,并且已经 运行 成功地使用了一年或更长时间。上周突然出现以下错误:
/usr/local/lib/python2.7/dist-packages/numpy/core/fromnumeric.py:2507: VisibleDeprecationWarning: `rank` is deprecated; use the `ndim` attribute or function instead. To find the rank of a matrix see `numpy.linalg.matrix_rank`.
VisibleDeprecationWarning)
我在网上找不到太多东西,但我发现这是由于旧版本 scipy 中的错误造成的建议(尽管我的代码实际上并未使用 scipy直接地)。我已经使用 numpy 1.9.2 和 scipy 0.15.1 升级到 python 2.7.9,但是我仍然遇到同样的错误。我不确定是什么原因造成的,也不知道我该如何解决。
来自 NumPy 1.9.0 的release notes:
rank
function
The rank function has been deprecated to avoid confusion with numpy.linalg.matrix_rank
.
似乎开发人员认为保留 "rank" 一词是为了表示数组具有的线性独立行数,而不是将其同时表示维数。
此函数不会出现在 NumPy 的主要未来版本中。因此,不要使用 np.rank
来查找数组中的维数,而是按照警告中的建议使用数组的 ndim
属性或函数 np.ndim
代替。
如果您现在只想抑制警告,warnings
模块允许您忽略这些消息。
我有一些 python 使用 numpy 的代码,并且已经 运行 成功地使用了一年或更长时间。上周突然出现以下错误:
/usr/local/lib/python2.7/dist-packages/numpy/core/fromnumeric.py:2507: VisibleDeprecationWarning: `rank` is deprecated; use the `ndim` attribute or function instead. To find the rank of a matrix see `numpy.linalg.matrix_rank`.
VisibleDeprecationWarning)
我在网上找不到太多东西,但我发现这是由于旧版本 scipy 中的错误造成的建议(尽管我的代码实际上并未使用 scipy直接地)。我已经使用 numpy 1.9.2 和 scipy 0.15.1 升级到 python 2.7.9,但是我仍然遇到同样的错误。我不确定是什么原因造成的,也不知道我该如何解决。
来自 NumPy 1.9.0 的release notes:
rank
functionThe rank function has been deprecated to avoid confusion with
numpy.linalg.matrix_rank
.
似乎开发人员认为保留 "rank" 一词是为了表示数组具有的线性独立行数,而不是将其同时表示维数。
此函数不会出现在 NumPy 的主要未来版本中。因此,不要使用 np.rank
来查找数组中的维数,而是按照警告中的建议使用数组的 ndim
属性或函数 np.ndim
代替。
如果您现在只想抑制警告,warnings
模块允许您忽略这些消息。