diff --git a/pandas/core/groupby/generic.py b/pandas/core/groupby/generic.py index 76e3c4dae54c0..a2621ce28ee48 100644 --- a/pandas/core/groupby/generic.py +++ b/pandas/core/groupby/generic.py @@ -2685,7 +2685,9 @@ def dtypes(self) -> Series: ) # error: Incompatible return value type (got "DataFrame", expected "Series") - return self.apply(lambda df: df.dtypes) # type: ignore[return-value] + return self._python_apply_general( # type: ignore[return-value] + lambda df: df.dtypes, self._selected_obj + ) @doc(DataFrame.corrwith.__doc__) def corrwith( diff --git a/pandas/core/groupby/groupby.py b/pandas/core/groupby/groupby.py index 29150c658b9e7..a52fa7d09c3fa 100644 --- a/pandas/core/groupby/groupby.py +++ b/pandas/core/groupby/groupby.py @@ -673,14 +673,14 @@ def f(self): return self.plot(*args, **kwargs) f.__name__ = "plot" - return self._groupby.apply(f) + return self._groupby._python_apply_general(f, self._groupby._selected_obj) def __getattr__(self, name: str): def attr(*args, **kwargs): def f(self): return getattr(self.plot, name)(*args, **kwargs) - return self._groupby.apply(f) + return self._groupby._python_apply_general(f, self._groupby._selected_obj) return attr @@ -1117,7 +1117,7 @@ def curried(x): # special case otherwise extra plots are created when catching the # exception below if name in base.plotting_methods: - return self.apply(curried) + return self._python_apply_general(curried, self._selected_obj) is_transform = name in base.transformation_kernels result = self._python_apply_general(