diff --git a/pandas/core/frame.py b/pandas/core/frame.py index 838a34adeaf82..3092b5cbbc3cb 100644 --- a/pandas/core/frame.py +++ b/pandas/core/frame.py @@ -11026,7 +11026,12 @@ def mean( numeric_only: bool = False, **kwargs, ): - return super().mean(axis, skipna, numeric_only, **kwargs) + result = super().mean(axis, skipna, numeric_only, **kwargs) + + if isinstance(result, (DataFrame, Series)): + return result.__finalize__(self) + else: + return result @doc(make_doc("median", ndim=2)) def median( diff --git a/pandas/tests/generic/test_finalize.py b/pandas/tests/generic/test_finalize.py index a76b6b94d719d..0db255dccd4dc 100644 --- a/pandas/tests/generic/test_finalize.py +++ b/pandas/tests/generic/test_finalize.py @@ -422,7 +422,6 @@ ), pytest.param( (pd.DataFrame, frame_data, operator.methodcaller("mean")), - marks=not_implemented_mark, ), ]