Skip to main content
`Ctrl`+`K`

# pandas.Index.asof_locs

Index.asof_locs(where, mask)

  Return the locations (indices) of labels in the index.

  As in the `pandas.Index.asof()`, if the label (a particular entry in `where`) is not in the index, the latest index label up to the passed label is chosen and its index returned.

  If all of the labels in the index are later than a label in `where`, -1 is returned.

  `mask` is used to ignore `NA` values in the index during calculation.

  Parameters:
    whereIndex

      An Index consisting of an array of timestamps.

    masknp.ndarray[bool]

      Array of booleans denoting where values in the original data are not `NA`.

  Returns:
    np.ndarray[np.intp]

      An array of locations (indices) of the labels from the index which correspond to the return values of `pandas.Index.asof()` for every element in `where`.

  See also

  `Index.asof`

    Return the label from the index, or, if not present, the previous one.

  Examples

      >>> idx = pd.date_range('2023-06-01', periods=3, freq='D')
      >>> where = pd.DatetimeIndex(['2023-05-30 00:12:00', '2023-06-01 00:00:00',
      ...                           '2023-06-02 23:59:59'])
      >>> mask = np.ones(3, dtype=bool)
      >>> idx.asof_locs(where, mask)
      array([-1,  0,  1])

  We can use `mask` to ignore certain values in the index during calculation.

      >>> mask[1] = False
      >>> idx.asof_locs(where, mask)
      array([-1,  0,  0])