diff --git a/pandas/core/groupby/generic.py b/pandas/core/groupby/generic.py index 01784513704b4..2787bacb8f418 100644 --- a/pandas/core/groupby/generic.py +++ b/pandas/core/groupby/generic.py @@ -63,7 +63,7 @@ def _iterate_slices(self): yield val, slicer(val) def _cython_agg_general(self, how, alt=None, numeric_only=True, - min_count=-1): + min_count=-1, skipna=True): new_items, new_blocks = self._cython_agg_blocks( how, alt=alt, numeric_only=numeric_only, min_count=min_count) return self._wrap_agged_blocks(new_items, new_blocks) @@ -144,8 +144,20 @@ def _cython_agg_blocks(self, how, alt=None, numeric_only=True, return new_items, new_blocks - def aggregate(self, func, *args, **kwargs): + def _get_data_to_aggregate(self): + obj = self._obj_with_exclusions + if self.axis == 0: + return obj.swapaxes(0, 1)._data, 1 + else: + return obj._data, self.axis + + def _post_process_cython_aggregate(self, obj): + # undoing kludge from below + if self.axis == 0: + obj = obj.swapaxes(0, 1) + return obj + def aggregate(self, func, *args, **kwargs): _level = kwargs.pop('_level', None) result, how = self._aggregate(func, _level=_level, *args, **kwargs) if how is None: