class TimedeltaIndexing(object): def setup(self): self.index = TimedeltaIndex(start='1985', periods=1000, freq='D') self.index2 = TimedeltaIndex(start='1986', periods=1000, freq='D') self.series = Series(range(1000), index=self.index) self.timedelta = self.index[500] def time_get_loc(self): self.index.get_loc(self.timedelta) def time_shape(self): self.index.shape def time_shallow_copy(self): self.index._shallow_copy() def time_series_loc(self): self.series.loc[self.timedelta] def time_align(self): DataFrame({'a': self.series, 'b': self.series[:500]}) def time_intersection(self): self.index.intersection(self.index2) def time_union(self): self.index.union(self.index2) def time_unique(self): self.index.unique()
def test_intersection_non_monotonic(self, rng, expected, sort): # 24471 non-monotonic base = TimedeltaIndex(["1 hour", "2 hour", "4 hour", "3 hour"], name="idx") result = base.intersection(rng, sort=sort) if sort is None: expected = expected.sort_values() tm.assert_index_equal(result, expected) assert result.name == expected.name # if reveresed order, frequency is still the same if all(base == rng[::-1]) and sort is None: assert isinstance(result.freq, Hour) else: assert result.freq is None
def test_intersection_non_monotonic(self, rng, expected, sort): # 24471 non-monotonic base = TimedeltaIndex(['1 hour', '2 hour', '4 hour', '3 hour'], name='idx') result = base.intersection(rng, sort=sort) if sort is None: expected = expected.sort_values() tm.assert_index_equal(result, expected) assert result.name == expected.name # if reveresed order, frequency is still the same if all(base == rng[::-1]) and sort is None: assert isinstance(result.freq, Hour) else: assert result.freq is None