@@ -675,11 +675,9 @@ def _get_new_index(self):
675675 ax = self .ax
676676 ax_attrs = ax ._get_attributes_dict ()
677677 ax_attrs ['freq' ] = self .freq
678- obj = self ._selected_obj
679678
680679 if len (ax ) == 0 :
681- new_index = PeriodIndex (data = [], ** ax_attrs )
682- return obj .reindex (new_index )
680+ return PeriodIndex (data = [], ** ax_attrs )
683681
684682 start = ax [0 ].asfreq (self .freq , how = self .convention )
685683 end = ax [- 1 ].asfreq (self .freq , how = 'end' )
@@ -705,7 +703,7 @@ def _downsample(self, how, **kwargs):
705703
706704 new_index = self ._get_new_index ()
707705 if len (new_index ) == 0 :
708- return self ._wrap_result (new_index )
706+ return self ._wrap_result (self . _selected_obj . reindex ( new_index ) )
709707
710708 # Start vs. end of period
711709 memb = ax .asfreq (self .freq , how = self .convention )
@@ -746,7 +744,7 @@ def _upsample(self, method, limit=None):
746744
747745 new_index = self ._get_new_index ()
748746 if len (new_index ) == 0 :
749- return self ._wrap_result (new_index )
747+ return self ._wrap_result (self . _selected_obj . reindex ( new_index ) )
750748
751749 if not is_superperiod (ax .freq , self .freq ):
752750 return self .asfreq ()
0 commit comments