MCPcopy Index your code
hub / github.com/pydata/xarray / _get_nearest_indexer

Method _get_nearest_indexer

xarray/coding/cftimeindex.py:385–400  ·  view source on GitHub ↗

Adapted from pandas.Index._get_nearest_indexer

(self, target, limit, tolerance)

Source from the content-addressed store, hash-verified

383 return loc
384
385 def _get_nearest_indexer(self, target, limit, tolerance):
386 """Adapted from pandas.Index._get_nearest_indexer"""
387 left_indexer = self.get_indexer(target, "pad", limit=limit)
388 right_indexer = self.get_indexer(target, "backfill", limit=limit)
389 left_distances = abs(self.values[left_indexer] - target.values)
390 right_distances = abs(self.values[right_indexer] - target.values)
391
392 if self.is_monotonic_increasing:
393 condition = (left_distances < right_distances) | (right_indexer == -1)
394 else:
395 condition = (left_distances <= right_distances) | (right_indexer == -1)
396 indexer = np.where(condition, left_indexer, right_indexer)
397
398 if tolerance is not None:
399 indexer = self._filter_indexer_tolerance(target, indexer, tolerance)
400 return indexer
401
402 def _filter_indexer_tolerance(self, target, indexer, tolerance):
403 """Adapted from pandas.Index._filter_indexer_tolerance"""

Callers

nothing calls this directly

Calls 2

whereMethod · 0.45

Tested by

no test coverage detected