diff --git a/pandas/core/internals/array_manager.py b/pandas/core/internals/array_manager.py index e0447378c4542..8585dc5ebcdd4 100644 --- a/pandas/core/internals/array_manager.py +++ b/pandas/core/internals/array_manager.py @@ -452,7 +452,13 @@ def putmask(self, mask, new, align: bool = True): ) def diff(self, n: int, axis: int) -> ArrayManager: - return self.apply_with_block("diff", n=n, axis=axis) + axis = self._normalize_axis(axis) + if axis == 1: + # DataFrame only calls this for n=0, in which case performing it + # with axis=0 is equivalent + assert n == 0 + axis = 0 + return self.apply(algos.diff, n=n, axis=axis) def interpolate(self, **kwargs) -> ArrayManager: return self.apply_with_block("interpolate", **kwargs)