针对"等级"的Numpy/scipy弃用警告

218*_*218 8 python numpy scipy python-2.7 deprecation-warning

我有一些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)
Run Code Online (Sandbox Code Playgroud)

我在网上找不到多少,但我发现这是因为旧版scipy中的一个错误(虽然我的代码实际上并没有直接使用scipy).我用numpy 1.9.2和scipy 0.15.1升级到python 2.7.9,但是我仍然得到同样的错误.我不确定是什么导致这种情况,或者我如何解决这个问题.

Ale*_*ley 6

从NumPy 1.9.0 的发行说明:

rank 功能

不推荐使用rank函数以避免混淆numpy.linalg.matrix_rank.

似乎开发人员认为保留单词"rank"以表示数组所具有的线性独立行的数量是合适的,并且不使用它也表示维度的数量.

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

如果您只是想暂时禁止警告,则该warnings模块允许您忽略这些消息.