Document `DataError` in the API
Currently, some groupby operations can raise a `DataError` that does not seem to be documented:

```
In [7]: a = pd.DataFrame({'a': [1, 2, 3, 4], 'b': ['a', 'b', 'c', 'd']})

In [8]: a.groupby('a').mean()
---------------------------------------------------------------------------
DataError                                 Traceback (most recent call last)
<ipython-input-8-52f32e3da133> in <module>
----> 1 a.groupby('a').mean()

~/miniconda3/envs/pandas-py37/lib/python3.7/site-packages/pandas/core/groupby/groupby.py in mean(self, *args, **kwargs)
   1230         nv.validate_groupby_func("mean", args, kwargs, ["numeric_only"])
   1231         return self._cython_agg_general(
-> 1232             "mean", alt=lambda x, axis: Series(x).mean(**kwargs), **kwargs
   1233         )
   1234

~/miniconda3/envs/pandas-py37/lib/python3.7/site-packages/pandas/core/groupby/generic.py in _cython_agg_general(self, how, alt, numeric_only, min_count)
   1002     ) -> DataFrame:
   1003         agg_blocks, agg_items = self._cython_agg_blocks(
-> 1004             how, alt=alt, numeric_only=numeric_only, min_count=min_count
   1005         )
   1006         return self._wrap_agged_blocks(agg_blocks, items=agg_items)

~/miniconda3/envs/pandas-py37/lib/python3.7/site-packages/pandas/core/groupby/generic.py in _cython_agg_blocks(self, how, alt, numeric_only, min_count)
   1103
   1104         if not (agg_blocks or split_frames):
-> 1105             raise DataError("No numeric types to aggregate")
   1106
   1107         if split_items:

DataError: No numeric types to aggregate
```

Could this error be documented as part of the API, or alternatively, could a different exception be raised so that users can catch and handle it appropriately?