Index.take(indices, axis=0, allow_fill=True, fill_value=None, **kwargs)[source]#

Return a new Index of the values selected by the indices.

For internal compatibility with numpy arrays.


Indices to be taken.

axisint, optional

The axis over which to select values, always 0.

allow_fillbool, default True

How to handle negative values in indices.

  • False: negative values in indices indicate positional indices from the right (the default). This is similar to numpy.take().

  • True: negative values in indices indicate missing values. These values are set to fill_value. Any other other negative values raise a ValueError.

fill_valuescalar, default None

If allow_fill=True and fill_value is not None, indices specified by -1 are regarded as NA. If Index doesn’t hold NA, raise ValueError.


Required for compatibility with numpy.


An index formed of elements at the given indices. Will be the same type as self, except for RangeIndex.

See also


Return an array formed from the elements of a at the given indices.


>>> idx = pd.Index(['a', 'b', 'c'])
>>> idx.take([2, 2, 1, 2])
Index(['c', 'c', 'b', 'c'], dtype='object')