@@ -1153,22 +1153,32 @@ def test_resample_loffset(self):
1153
1153
rng = date_range ('1/1/2000 00:00:00' , '1/1/2000 00:13:00' , freq = 'min' )
1154
1154
s = Series (np .random .randn (14 ), index = rng )
1155
1155
1156
- result = s .resample ('5min' , closed = 'right' , label = 'right' ,
1157
- loffset = timedelta (minutes = 1 )).mean ()
1158
1156
idx = date_range ('1/1/2000' , periods = 4 , freq = '5min' )
1159
- expected = Series ([s [0 ], s [1 :6 ].mean (), s [6 :11 ].mean (), s [11 :].mean ()],
1160
- index = idx + timedelta (minutes = 1 ))
1161
- assert_series_equal (result , expected )
1162
-
1163
- expected = s .resample (
1157
+ expected_downsample = Series ([s [0 ], s [1 :6 ].mean (),
1158
+ s [6 :11 ].mean (), s [11 :].mean ()],
1159
+ index = idx + timedelta (minutes = 1 ))
1160
+ expected_upsample = Series ([s [0 ], s [5 ], s [10 ], s [- 1 ]],
1161
+ index = idx + timedelta (minutes = 1 )) # GH 20744
1162
+
1163
+ # loffset should work for upsample and downsample
1164
+ result_downsample = s .resample ('5min' , closed = 'right' , label = 'right' ,
1165
+ loffset = timedelta (minutes = 1 )).mean ()
1166
+ result_upsample = s .resample ('5min' , closed = 'right' , label = 'right' ,
1167
+ loffset = timedelta (minutes = 1 )).ffill ()
1168
+
1169
+ assert_series_equal (result_downsample , expected_downsample )
1170
+ assert_series_equal (result_upsample , expected_upsample )
1171
+
1172
+ # loffset should allow various types
1173
+ result = s .resample (
1164
1174
'5min' , closed = 'right' , label = 'right' ,
1165
1175
loffset = '1min' ).mean ()
1166
- assert_series_equal (result , expected )
1176
+ assert_series_equal (result , expected_downsample )
1167
1177
1168
- expected = s .resample (
1178
+ result = s .resample (
1169
1179
'5min' , closed = 'right' , label = 'right' ,
1170
1180
loffset = Minute (1 )).mean ()
1171
- assert_series_equal (result , expected )
1181
+ assert_series_equal (result , expected_downsample )
1172
1182
1173
1183
assert result .index .freq == Minute (5 )
1174
1184
0 commit comments