“排名”的Numpy / scipy弃用警告

我有一些使用numpy的python代码,并且已经成功运行了一年或更长时间。 上周突然出现以下错误:

/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)。 我已经升级到python 2.7.9与numpy 1.9.2和scipy 0.15.1,但我仍然得到相同的错误。 我不确定是什么原因造成的,或者我如何解决这个问题。


从NumPy 1.9.1的发行说明:

排名功能

rank函数已被弃用,以避免与numpy.linalg.matrix_rank混淆。

看起来开发人员似乎适合保留“等级”一词来表示数组具有线性独立行的数量,而不是用它来表示维数。

此功能在NumPy未来的主要版本中不会出现。 因此,不要使用np.rank来查找数组中的维数,而应遵循警告中的建议,并使用数组的ndim属性或函数np.ndim来代替。

如果您现在只想抑制警告,则warnings模块允许您忽略消息。

链接地址: http://www.djcxy.com/p/87177.html

上一篇: Numpy/scipy deprecation warning for "rank"

下一篇: Can't install Scipy through pip