def get_indexer(self, target, method=None, limit=None, tolerance=None): target = _ensure_index(target) if hasattr(target, 'freq') and target.freq != self.freq: msg = _DIFFERENT_FREQ_INDEX.format(self.freqstr, target.freqstr) raise IncompatibleFrequency(msg) if isinstance(target, PeriodIndex): target = target.asi8 if tolerance is not None: tolerance = self._convert_tolerance(tolerance, target) return Index.get_indexer(self._int64index, target, method, limit, tolerance)
def get_indexer(self, target, method=None, limit=None, tolerance=None): target = ensure_index(target) if hasattr(target, 'freq') and target.freq != self.freq: msg = DIFFERENT_FREQ_INDEX.format(self.freqstr, target.freqstr) raise IncompatibleFrequency(msg) if isinstance(target, PeriodIndex): target = target.asi8 if tolerance is not None: tolerance = self._convert_tolerance(tolerance, target) return Index.get_indexer(self._int64index, target, method, limit, tolerance)
def get_indexer(self, target, method=None, limit=None, tolerance=None): target = ensure_index(target) if isinstance(target, PeriodIndex): if target.freq != self.freq: # No matches no_matches = -1 * np.ones(self.shape, dtype=np.intp) return no_matches target = target.asi8 self_index = self._int64index else: self_index = self if tolerance is not None: tolerance = self._convert_tolerance(tolerance, target) return Index.get_indexer(self_index, target, method, limit, tolerance)
def get_indexer(self, target, method=None, limit=None, tolerance=None): target = ensure_index(target) if hasattr(target, "freq") and target.freq != self.freq: msg = DIFFERENT_FREQ.format( cls=type(self).__name__, own_freq=self.freqstr, other_freq=target.freqstr, ) raise IncompatibleFrequency(msg) if isinstance(target, PeriodIndex): target = target.asi8 if tolerance is not None: tolerance = self._convert_tolerance(tolerance, target) return Index.get_indexer(self._int64index, target, method, limit, tolerance)
def get_indexer(self, target, method=None, limit=None, tolerance=None): target = ensure_index(target) if not self._should_compare(target): return self._get_indexer_non_comparable(target, method, unique=True) if isinstance(target, PeriodIndex): target = target._get_engine_target() # i.e. target.asi8 self_index = self._int64index else: self_index = self if tolerance is not None: tolerance = self._convert_tolerance(tolerance, target) if self_index is not self: # convert tolerance to i8 tolerance = self._maybe_convert_timedelta(tolerance) return Index.get_indexer(self_index, target, method, limit, tolerance)
def get_indexer(self, target, method=None, limit=None, tolerance=None): target = ensure_index(target) if isinstance(target, PeriodIndex): if not self._is_comparable_dtype(target.dtype): # i.e. target.freq != self.freq # No matches no_matches = -1 * np.ones(self.shape, dtype=np.intp) return no_matches target = target._get_engine_target() # i.e. target.asi8 self_index = self._int64index else: self_index = self if tolerance is not None: tolerance = self._convert_tolerance(tolerance, target) if self_index is not self: # convert tolerance to i8 tolerance = self._maybe_convert_timedelta(tolerance) return Index.get_indexer(self_index, target, method, limit, tolerance)