@@ -724,35 +724,19 @@ def series_and_frame(self, request, index):
724
724
if request .param == DataFrame :
725
725
return self .frame (index )
726
726
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
749
730
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 )
756
740
757
741
def test_asfreq_fill_value (self ):
758
742
# test for fill value during resampling, issue 3715
@@ -2250,32 +2234,18 @@ def create_series(self):
2250
2234
2251
2235
return Series (np .arange (len (i )), index = i , name = 'pi' )
2252
2236
2253
- @pytest .mark .parametrize ('freq' , ['2D' ])
2237
+ @pytest .mark .parametrize ('freq' , ['2D' , '1H' , '2H' ])
2254
2238
@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 ):
2256
2240
# 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')
2268
2242
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
2273
2243
obj = series_and_frame
2274
- start = obj .index [0 ].to_timestamp (how = 'start' )
2275
- end = (obj .index [- 1 ] + 1 ).to_timestamp (how = 'start' )
2276
2244
if kind == 'timestamp' :
2277
2245
expected = obj .to_timestamp ().resample (freq ).asfreq ()
2278
2246
else :
2247
+ start = obj .index [0 ].to_timestamp (how = 'start' )
2248
+ end = (obj .index [- 1 ] + 1 ).to_timestamp (how = 'start' )
2279
2249
new_index = date_range (start = start , end = end , freq = freq ,
2280
2250
closed = 'left' )
2281
2251
expected = obj .to_timestamp ().reindex (new_index ).to_period (freq )
@@ -2913,6 +2883,9 @@ def test_resample_with_only_nat(self):
2913
2883
2914
2884
class TestTimedeltaIndex (Base ):
2915
2885
_index_factory = lambda x : timedelta_range
2886
+ _series_fixture_name = 'tdi'
2887
+ _index_fixture_start = '1 day'
2888
+ _index_fixture_end = '10 day'
2916
2889
2917
2890
def create_series (self ):
2918
2891
i = timedelta_range ('1 day' ,
0 commit comments