pandas.Index.reindex

Index.reindex(target, method=None, level=None, limit=None, tolerance=None)[source]

Create index with target’s values.

Parameters
targetan iterable
method{None, ‘pad’/’ffill’, ‘backfill’/’bfill’, ‘nearest’}, optional
  • default: exact matches only.

  • pad / ffill: find the PREVIOUS index value if no exact match.

  • backfill / bfill: use NEXT index value if no exact match

  • nearest: use the NEAREST index value if no exact match. Tied distances are broken by preferring the larger index value.

levelint, optional

Level of multiindex.

limitint, optional

Maximum number of consecutive labels in target to match for inexact matches.

toleranceint or float, optional

Maximum distance between original and new labels for inexact matches. The values of the index at the matching locations must satisfy the equation abs(index[indexer] - target) <= tolerance.

Tolerance may be a scalar value, which applies the same tolerance to all values, or list-like, which applies variable tolerance per element. List-like includes list, tuple, array, Series, and must be the same size as the index and its dtype must exactly match the index’s type.

Returns
new_indexpd.Index

Resulting index.

indexernp.ndarray[np.intp] or None

Indices of output values in original index.

Raises
TypeError

If method passed along with level.

ValueError

If non-unique multi-index

ValueError

If non-unique index and method or limit passed.

Examples

>>> idx = pd.Index(['car', 'bike', 'train', 'tractor'])
>>> idx
Index(['car', 'bike', 'train', 'tractor'], dtype='object')
>>> idx.reindex(['car', 'bike'])
(Index(['car', 'bike'], dtype='object'), array([0, 1]))