numpy.exceptions.AxisError#

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

Axis supplied was invalid.

This is raised whenever an axis parameter is specified that is larger than the number of array dimensions. For compatibility with code written against older numpy versions, which raised a mixture of ValueError and IndexError for this situation, this exception subclasses both to ensure that except ValueError and except IndexError statements continue to catch AxisError.

New in version 1.13.

Parameters:
axisint or str

The out of bounds axis or a custom exception message. If an axis is provided, then ndim should be specified as well.

ndimint, optional

The number of array dimensions.

msg_prefixstr, optional

A prefix for the exception message.

Examples

>>> 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

Negative axes are preserved:

>>> 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

The class constructor generally takes the axis and arrays’ dimensionality as arguments:

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

Alternatively, a custom exception message can be passed:

>>> print(np.exceptions.AxisError('Custom error message'))
Custom error message
Attributes:
axisint, optional

The out of bounds axis or None if a custom exception message was provided. This should be the axis as passed by the user, before any normalization to resolve negative indices.

New in version 1.22.

ndimint, optional

The number of array dimensions or None if a custom exception message was provided.

New in version 1.22.