Skip to content

Commit f8f4157

Browse files
committed
TST: consolidate test_asfreq_downsample, test_asfreq_upsample -> test_asfreq
1 parent 77efcee commit f8f4157

File tree

1 file changed

+20
-47
lines changed

1 file changed

+20
-47
lines changed

pandas/tests/test_resample.py

+20-47
Original file line numberDiff line numberDiff line change
@@ -722,35 +722,19 @@ def series_and_frame(self, request, index):
722722
if request.param == DataFrame:
723723
return self.frame(index)
724724

725-
def test_asfreq_downsample(self):
726-
s = self.create_series()
727-
728-
result = s.resample('2D').asfreq()
729-
expected = s.reindex(s.index.take(np.arange(0, len(s.index), 2)))
730-
expected.index.freq = to_offset('2D')
731-
assert_series_equal(result, expected)
732-
733-
frame = s.to_frame('value')
734-
result = frame.resample('2D').asfreq()
735-
expected = frame.reindex(
736-
frame.index.take(np.arange(0, len(frame.index), 2)))
737-
expected.index.freq = to_offset('2D')
738-
assert_frame_equal(result, expected)
739-
740-
def test_asfreq_upsample(self):
741-
s = self.create_series()
742-
743-
result = s.resample('1H').asfreq()
744-
new_index = self.create_index(s.index[0], s.index[-1], freq='1H')
745-
expected = s.reindex(new_index)
746-
assert_series_equal(result, expected)
725+
@pytest.mark.parametrize('freq', ['2D', '1H'])
726+
def test_asfreq(self, series_and_frame, freq):
727+
obj = series_and_frame
747728

748-
frame = s.to_frame('value')
749-
result = frame.resample('1H').asfreq()
750-
new_index = self.create_index(frame.index[0],
751-
frame.index[-1], freq='1H')
752-
expected = frame.reindex(new_index)
753-
assert_frame_equal(result, expected)
729+
result = obj.resample(freq).asfreq()
730+
if freq == '2D':
731+
new_index = obj.index.take(np.arange(0, len(obj.index), 2))
732+
new_index.freq = to_offset('2D')
733+
else:
734+
new_index = self.create_index(obj.index[0], obj.index[-1],
735+
freq=freq)
736+
expected = obj.reindex(new_index)
737+
assert_almost_equal(result, expected)
754738

755739
def test_asfreq_fill_value(self):
756740
# test for fill value during resampling, issue 3715
@@ -2204,32 +2188,18 @@ def create_series(self):
22042188

22052189
return Series(np.arange(len(i)), index=i, name='pi')
22062190

2207-
@pytest.mark.parametrize('freq', ['2D'])
2191+
@pytest.mark.parametrize('freq', ['2D', '1H', '2H'])
22082192
@pytest.mark.parametrize('kind', ['period', None, 'timestamp'])
2209-
def test_asfreq_downsample(self, series_and_frame, freq, kind):
2193+
def test_asfreq(self, series_and_frame, freq, kind):
22102194
# GH 12884, 15944
2211-
obj = series_and_frame
2212-
start = obj.index[0].to_timestamp(how='start')
2213-
end = (obj.index[-1] + 1).to_timestamp(how='start')
2214-
if kind == 'timestamp':
2215-
expected = obj.to_timestamp().resample(freq).asfreq()
2216-
else:
2217-
new_index = date_range(start=start, end=end, freq=freq,
2218-
closed='left')
2219-
expected = obj.to_timestamp().reindex(new_index).to_period(freq)
2220-
result = obj.resample(freq, kind=kind).asfreq()
2221-
assert_almost_equal(result, expected)
2195+
# make sure .asfreq() returns PeriodIndex (except kind='timestamp')
22222196

2223-
@pytest.mark.parametrize('freq', ['1H', '2H'])
2224-
@pytest.mark.parametrize('kind', ['period', None, 'timestamp'])
2225-
def test_asfreq_upsample(self, series_and_frame, freq, kind):
2226-
# GH 12884, 15944
22272197
obj = series_and_frame
2228-
start = obj.index[0].to_timestamp(how='start')
2229-
end = (obj.index[-1] + 1).to_timestamp(how='start')
22302198
if kind == 'timestamp':
22312199
expected = obj.to_timestamp().resample(freq).asfreq()
22322200
else:
2201+
start = obj.index[0].to_timestamp(how='start')
2202+
end = (obj.index[-1] + 1).to_timestamp(how='start')
22332203
new_index = date_range(start=start, end=end, freq=freq,
22342204
closed='left')
22352205
expected = obj.to_timestamp().reindex(new_index).to_period(freq)
@@ -2865,6 +2835,9 @@ def test_resample_with_only_nat(self):
28652835

28662836
class TestTimedeltaIndex(Base):
28672837
_index_factory = lambda x: timedelta_range
2838+
_series_fixture_name = 'tdi'
2839+
_index_fixture_start = '1 day'
2840+
_index_fixture_end = '10 day'
28682841

28692842
def create_series(self):
28702843
i = timedelta_range('1 day',

0 commit comments

Comments
 (0)