Numpy / scipy弃用警告" rank"

时间:2015-04-20 17:07:02

标签: python python-2.7 numpy scipy deprecation-warning

我有一些使用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)。我用numpy 1.9.2和scipy 0.15.1升级到python 2.7.9,但是我仍然得到同样的错误。我不确定是什么导致了这个问题,或者我是如何解决这个问题的。

1 个答案:

答案 0 :(得分:5)

来自NumPy 1.9.0的release notes

  

rank功能

     

不推荐使用排名功能,以避免与numpy.linalg.matrix_rank混淆。

开发人员似乎认为可以保留“" rank"表示数组具有线性独立行的数量,而不是使用它也表示维数。

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

如果您只是想暂时取消警告,warnings模块允许您忽略这些消息。