code: def _fill(self, direction, limit=None):
          
          res = super()._fill(direction, limit=limit)
          output = OrderedDict(
              (grp.name, grp.grouper) for grp in self.grouper.groupings)
  
          from pandas import concat
          return concat((self._wrap_transformed_output(output), res), axis=1)
docs: Overridden method to join grouped columns in output