numpy.exceptions.AxisError#

异常 exceptions.AxisError(axis, ndim=None, msg_prefix=None)[源]#

提供的轴无效。

当指定的 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 版新增。