numpy.exceptions.AxisError#

exception exceptions.AxisError(axis, ndim=None, msg_prefix=None)[source]#

提供的轴无效。

每当指定的 axis 参数大于数组维数时,就会引发此异常。为了与针对旧版 NumPy 版本编写的代码兼容(这些代码针对这种情况会引发混合的 ValueErrorIndexError),此异常同时是这两个异常的子类,以确保 except ValueErrorexcept IndexError 语句继续捕获 AxisError

参数:
axisint 或 str

超出范围的轴或自定义异常消息。如果提供了轴,则也应指定 ndim

ndimint,可选

数组的维度数。

msg_prefixstr,可选

异常消息的前缀。

示例

>>> import numpy as np
>>> array_1d = np.arange(10)
>>> np.cumsum(array_1d, axis=1)
Traceback (most recent call last):
  ...
numpy.exceptions.AxisError: axis 1 is out of bounds for array of dimension 1

保留负轴

>>> np.cumsum(array_1d, axis=-2)
Traceback (most recent call last):
  ...
numpy.exceptions.AxisError: axis -2 is out of bounds for array of dimension 1

类构造函数通常将轴和数组的维数作为参数

>>> print(np.exceptions.AxisError(2, 1, msg_prefix='error'))
error: axis 2 is out of bounds for array of dimension 1

或者,可以传递自定义异常消息

>>> print(np.exceptions.AxisError('Custom error message'))
Custom error message
属性:
axisint,可选

超出范围的轴,如果提供了自定义异常消息,则为 None。这应该是用户传入的轴,在任何将负索引转换为正索引的规范化之前。

1.22 版本中的新功能。

ndimint,可选

数组的维度数,如果提供了自定义异常消息,则为 None

1.22 版本中的新功能。