@@ -228,9 +228,11 @@ def _get_time_delta_bins(self, ax):
228
228
if not len (ax ):
229
229
binner = labels = TimedeltaIndex (data = [], freq = self .freq , name = ax .name )
230
230
return binner , [], labels
231
+
232
+ first , last = ax .min (), ax .max ()
231
233
232
- labels = binner = TimedeltaIndex (start = ax [ 0 ] ,
233
- end = ax [ - 1 ] ,
234
+ labels = binner = TimedeltaIndex (start = first ,
235
+ end = last ,
234
236
freq = self .freq ,
235
237
name = ax .name )
236
238
@@ -273,6 +275,7 @@ def _resample_timestamps(self, kind=None):
273
275
binner = self .binner
274
276
obj = self .obj
275
277
278
+
276
279
# Determine if we're downsampling
277
280
if axlabels .freq is not None or axlabels .inferred_freq is not None :
278
281
@@ -323,14 +326,11 @@ def _resample_timestamps(self, kind=None):
323
326
324
327
result .index = result .index + loffset
325
328
326
- if type (self .base ) != int :
327
- raise Exception ("Expect base to be int, got {type}"
328
- .format (type = type (self .base )))
329
+ if kind == "timedelta" and len (result .index ) > 0 :
330
+ last = result .index [- 1 ]
331
+ result .index = result .index .shift (self .base )
332
+ result = result .loc [result .index <= last ]
329
333
330
- if self .base > 0 and self .base < self .freq .n :
331
- shift_freq = type (self .freq )(1 )
332
- result .index = result .index .shift (self .base , shift_freq )
333
-
334
334
return result
335
335
336
336
def _resample_periods (self ):
0 commit comments