Skip to main content
`Ctrl`+`K`

# numpy.lib.array_utils.normalize_axis_index

lib.array_utils.normalize_axis_index(axis, ndim, msg_prefix=None)

  Normalizes an axis index, axis, such that is a valid positive index into the shape of array with `ndim` dimensions. Raises an AxisError with an appropriate message if this is not possible.

  Used internally by all axis-checking logic.

  Parameters:
    axis int

      The un-normalized index of the axis. Can be negative

    ndim int

      The number of dimensions of the array that axis should be normalized against

    msg_prefix str

      A prefix to put before the message, typically the name of the argument

  Returns:
    normalized_axis int

      The normalized axis index, such that 0 <= normalized_axis < ndim

  Raises:
    AxisError

      If the axis index is invalid, when -ndim <= axis < ndim is false.

  Examples

      >>> import numpy as np
      >>> from numpy.lib.array_utils import normalize_axis_index
      >>> normalize_axis_index(0, ndim=3)
      0
      >>> normalize_axis_index(1, ndim=3)
      1
      >>> normalize_axis_index(-1, ndim=3)
      2

      >>> normalize_axis_index(3, ndim=3)
      Traceback (most recent call last):
      ...
      numpy.exceptions.AxisError: axis 3 is out of bounds for array ...
      >>> normalize_axis_index(-4, ndim=3, msg_prefix='axes_arg')
      Traceback (most recent call last):
      ...
      numpy.exceptions.AxisError: axes_arg: axis -4 is out of bounds ...