pandas.Series.pct_change
- Series.pct_change(periods=1, fill_method=<no_default>, limit=<no_default>, freq=None, **kwargs)[исходный код]
-
Относительное изменение между текущим и предыдущим элементом.
По умолчанию вычисляет относительное изменение по сравнению с непосредственно предшествующей строкой. Это полезно для сравнения относительного изменения элементов временного ряда.
Примечание
Несмотря на название метода, он вычисляет относительное изменение (также известное как изменение на единицу или относительное изменение), а не процентное изменение. Чтобы получить процентное изменение, умножьте эти значения на 100.
- Параметры:
-
- periods:int, по умолчанию 1
-
Количество периодов для сдвига при вычислении процентного изменения.
- fill_method:{‘backfill’, ‘bfill’, ‘pad’, ‘ffill’, None}, по умолчанию ‘pad’
-
Способ обработки пропусков перед вычислением процентных изменений.
Устарело с версии 2.1: Все варианты fill_method устарели, кроме fill_method=None.
- limit:int, по умолчанию None
-
Количество последовательных пропусков для заполнения.
Устарело с версии 2.1.
- freq:DateOffset, timedelta или str, необязательный
-
Шаг, используемый в API временных рядов (например, ‘ME’ или BDay()).
- **kwargs
-
Дополнительные именованные аргументы передаются в DataFrame.shift или Series.shift.
- Возвращает:
-
- Series или DataFrame
-
Объект того же типа, что и исходный.
См. также
Series.diff-
Вычислить разность двух элементов Series.
DataFrame.diff-
Вычислить разность двух элементов DataFrame.
Series.shift-
Сдвинуть индекс на заданное количество периодов.
DataFrame.shift-
Сдвинуть индекс на заданное количество периодов.
Примеры
Series
>>> s = pd.Series([90, 91, 85]) >>> s 0 90 1 91 2 85 dtype: int64
>>> s.pct_change() 0 NaN 1 0.011111 2 -0.065934 dtype: float64
>>> s.pct_change(periods=2) 0 NaN 1 NaN 2 -0.055556 dtype: float64
Посмотрите процентное изменение в Series, заполнив пропуски последним допустимым наблюдением, распространяя его вперёд до следующего допустимого значения.
>>> s = pd.Series([90, 91, None, 85]) >>> s 0 90.0 1 91.0 2 NaN 3 85.0 dtype: float64
>>> s.ffill().pct_change() 0 NaN 1 0.011111 2 0.000000 3 -0.065934 dtype: float64
DataFrame
Процентное изменение курса французского франка, немецкой марки и итальянской лиры с 1980-01-01 по 1980-03-01.
>>> df = pd.DataFrame({ ... 'FR': [4.0405, 4.0963, 4.3149], ... 'GR': [1.7246, 1.7482, 1.8519], ... 'IT': [804.74, 810.01, 860.13]}, ... index=['1980-01-01', '1980-02-01', '1980-03-01']) >>> df FR GR IT 1980-01-01 4.0405 1.7246 804.74 1980-02-01 4.0963 1.7482 810.01 1980-03-01 4.3149 1.8519 860.13>>> df.pct_change() FR GR IT 1980-01-01 NaN NaN NaN 1980-02-01 0.013810 0.013684 0.006549 1980-03-01 0.053365 0.059318 0.061876Процентное изменение объёма торгов акциями GOOG и APPL. Показывает вычисление процентного изменения между столбцами.
>>> df = pd.DataFrame({ ... '2016': [1769950, 30586265], ... '2015': [1500923, 40912316], ... '2014': [1371819, 41403351]}, ... index=['GOOG', 'APPL']) >>> df 2016 2015 2014 GOOG 1769950 1500923 1371819 APPL 30586265 40912316 41403351>>> df.pct_change(axis='columns', periods=-1) 2016 2015 2014 GOOG 0.179241 0.094112 NaN APPL -0.252395 -0.011860 NaN
© 2008–2011, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
© 2011–2025, Open source contributors
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/2.3.0/reference/api/pandas.Series.pct_change.html