Spec-Zone.ru › pandas 2

pandas.DataFrame.pct_change

DataFrame.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.DataFrame.pct_change.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API