Skip to main content
`Ctrl`+`K`

# numpy.exceptions.AxisError

exception exceptions.AxisError(axis, ndim=None, msg_prefix=None)

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

  Parameters:
    axis int or str

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

    ndim int, optional

      The number of array dimensions.

    msg_prefix str, 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:
    axis int, 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.

    ndim int, optional

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

      New in version 1.22.