numpy.take(a, indices, axis=None, out=None, mode='raise')

Take elements from an array along an axis.

This function does the same thing as “fancy” indexing (indexing arrays using arrays); however, it can be easier to use if you need elements along a given axis.


a : array_like

The source array.

indices : array_like, int

The indices of the values to extract.

axis : int, optional

The axis over which to select values. By default, the flattened input array is used.

out : ndarray, optional

If provided, the result will be placed in this array. It should be of the appropriate shape and dtype.

mode : {‘raise’, ‘wrap’, ‘clip’}, optional

Specifies how out-of-bounds indices will behave. ‘raise’ – raise an error ‘wrap’ – wrap around ‘clip’ – clip to the range


subarray : ndarray

The returned array has the same type as a.

See also

equivalent method


>>> a = [4, 3, 5, 7, 6, 8]
>>> indices = [0, 1, 4]
>>> np.take(a, indices)
array([4, 3, 6])

In this example if a is a ndarray, “fancy” indexing can be used. >>> a = np.array(a) >>> a[indices] array([4, 3, 6])

Previous topic


Next topic


This Page

Quick search