Skip to content

Commit 3964fc4

Browse files
winklerandjreback
authored andcommitted
TST: consolidate test_asfreq_downsample, test_asfreq_upsample -> test_asfreq
1 parent ce75f78 commit 3964fc4

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
@@ -724,35 +724,19 @@ def series_and_frame(self, request, index):
724724
if request.param == DataFrame:
725725
return self.frame(index)
726726

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

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

757741
def test_asfreq_fill_value(self):
758742
# test for fill value during resampling, issue 3715
@@ -2250,32 +2234,18 @@ def create_series(self):
22502234

22512235
return Series(np.arange(len(i)), index=i, name='pi')
22522236

2253-
@pytest.mark.parametrize('freq', ['2D'])
2237+
@pytest.mark.parametrize('freq', ['2D', '1H', '2H'])
22542238
@pytest.mark.parametrize('kind', ['period', None, 'timestamp'])
2255-
def test_asfreq_downsample(self, series_and_frame, freq, kind):
2239+
def test_asfreq(self, series_and_frame, freq, kind):
22562240
# GH 12884, 15944
2257-
obj = series_and_frame
2258-
start = obj.index[0].to_timestamp(how='start')
2259-
end = (obj.index[-1] + 1).to_timestamp(how='start')
2260-
if kind == 'timestamp':
2261-
expected = obj.to_timestamp().resample(freq).asfreq()
2262-
else:
2263-
new_index = date_range(start=start, end=end, freq=freq,
2264-
closed='left')
2265-
expected = obj.to_timestamp().reindex(new_index).to_period(freq)
2266-
result = obj.resample(freq, kind=kind).asfreq()
2267-
assert_almost_equal(result, expected)
2241+
# make sure .asfreq() returns PeriodIndex (except kind='timestamp')
22682242

2269-
@pytest.mark.parametrize('freq', ['1H', '2H'])
2270-
@pytest.mark.parametrize('kind', ['period', None, 'timestamp'])
2271-
def test_asfreq_upsample(self, series_and_frame, freq, kind):
2272-
# GH 12884, 15944
22732243
obj = series_and_frame
2274-
start = obj.index[0].to_timestamp(how='start')
2275-
end = (obj.index[-1] + 1).to_timestamp(how='start')
22762244
if kind == 'timestamp':
22772245
expected = obj.to_timestamp().resample(freq).asfreq()
22782246
else:
2247+
start = obj.index[0].to_timestamp(how='start')
2248+
end = (obj.index[-1] + 1).to_timestamp(how='start')
22792249
new_index = date_range(start=start, end=end, freq=freq,
22802250
closed='left')
22812251
expected = obj.to_timestamp().reindex(new_index).to_period(freq)
@@ -2913,6 +2883,9 @@ def test_resample_with_only_nat(self):
29132883

29142884
class TestTimedeltaIndex(Base):
29152885
_index_factory = lambda x: timedelta_range
2886+
_series_fixture_name = 'tdi'
2887+
_index_fixture_start = '1 day'
2888+
_index_fixture_end = '10 day'
29162889

29172890
def create_series(self):
29182891
i = timedelta_range('1 day',

0 commit comments

Comments
 (0)