@@ -722,35 +722,19 @@ def series_and_frame(self, request, index):
722
722
if request .param == DataFrame :
723
723
return self .frame (index )
724
724
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
747
728
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 )
754
738
755
739
def test_asfreq_fill_value (self ):
756
740
# test for fill value during resampling, issue 3715
@@ -2204,32 +2188,18 @@ def create_series(self):
2204
2188
2205
2189
return Series (np .arange (len (i )), index = i , name = 'pi' )
2206
2190
2207
- @pytest .mark .parametrize ('freq' , ['2D' ])
2191
+ @pytest .mark .parametrize ('freq' , ['2D' , '1H' , '2H' ])
2208
2192
@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 ):
2210
2194
# 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')
2222
2196
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
2227
2197
obj = series_and_frame
2228
- start = obj .index [0 ].to_timestamp (how = 'start' )
2229
- end = (obj .index [- 1 ] + 1 ).to_timestamp (how = 'start' )
2230
2198
if kind == 'timestamp' :
2231
2199
expected = obj .to_timestamp ().resample (freq ).asfreq ()
2232
2200
else :
2201
+ start = obj .index [0 ].to_timestamp (how = 'start' )
2202
+ end = (obj .index [- 1 ] + 1 ).to_timestamp (how = 'start' )
2233
2203
new_index = date_range (start = start , end = end , freq = freq ,
2234
2204
closed = 'left' )
2235
2205
expected = obj .to_timestamp ().reindex (new_index ).to_period (freq )
@@ -2865,6 +2835,9 @@ def test_resample_with_only_nat(self):
2865
2835
2866
2836
class TestTimedeltaIndex (Base ):
2867
2837
_index_factory = lambda x : timedelta_range
2838
+ _series_fixture_name = 'tdi'
2839
+ _index_fixture_start = '1 day'
2840
+ _index_fixture_end = '10 day'
2868
2841
2869
2842
def create_series (self ):
2870
2843
i = timedelta_range ('1 day' ,
0 commit comments