BUG: Use correct ExtensionArray reductions in DataFrame reductions
- [x] closes #34520
- [x] tests added / passed
- [x] passes `black pandas`
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [ ] whatsnew entry

> So maybe we can edit that condition to include something like `or self._any_extension_type`.

using `self._mgr.any_extension_types` also fixes #32651 (but not checked to see if anything breaks)  > One problem is that frame_apply path is only taken for if not self._is_homogeneous_type and filter_type is None: ....

Yah, the longer-term solution I have in mind is #34714 that all cases will go through.  Is tinkering with the is_homogeneous_type check necessary for this PR, or can we punt on that until after 1.1? @jbrockmendel hope you don't mind, but I cherry-picked some commits with tests from me and Simon from the other PR onto this branch. Depending on whether we do the any_extension_type thing, we might need to xfail them, though

>  Is tinkering with the is_homogeneous_type check necessary for this PR, or can we punt on that until after 1.1?

I would personally prefer to do this here as well, as otherwise you get a rather surprising inconsistency which underlying operation is actually ran for DataFrames with EAs depending on wether other dtypes are present or not.

I pushed the tiny change for that as well in the last commit, to see what CI says, but we can easily undo that again. The one failure on the py37_np18 build seems to be unrelated .. Have we seen that elsewhere as well? > The one failure on the py37_np18 build seems to be unrelated .. Have we seen that elsewhere as well?

yep, although AFAIK we don't have an issue for this. see https://github.com/pandas-dev/pandas/pull/34906#issuecomment-652005200 and https://github.com/pandas-dev/pandas/pull/35086#issuecomment-652626570

if i see this failure on a PR, I normally just re-run. needs whatsnew for #32651 (can copy from #34210) @simonjayhawkins I think the general whatsnew note added by Brock already covers that as well (can maybe just add the issue number) Merging in a few hours if no objections (cc @jreback, I think you're the only one without an explicit +1) @jorisvandenbossche your commits look good, thanks for the heads up thanks @jbrockmendel 