diff --git a/pandas/core/generic.py b/pandas/core/generic.py index e1271cfec2bde..19e9ba97385ac 100644 --- a/pandas/core/generic.py +++ b/pandas/core/generic.py @@ -10205,7 +10205,10 @@ def pct_change( assert _data is not None # needed for mypy data = _data - rs = data.div(data.shift(periods=periods, freq=freq, axis=axis, **kwargs)) - 1 + if axis == 1: + rs = data.div(data.shift(periods=-periods, freq=freq, axis=axis, **kwargs)) - 1 + else: + rs = data.div(data.shift(periods=periods, freq=freq, axis=axis, **kwargs)) - 1 if freq is not None: # Shift method is implemented differently when freq is not None # We want to restore the original index