Spec-Zone.ru › pandas 2

pandas.DataFrame.pct_change

DataFrame.pct_change(periods=1, fill_method=_NoDefault.no_default, limit=_NoDefault.no_default, freq=None, **kwargs)[source]

Процентное изменение между текущим и предыдущим элементом.

Вычисляет процентное изменение от непосредственно предшествующей строки по умолчанию. Это полезно для сравнения процентного изменения во временном ряду элементов.

Примечание

Несмотря на название этого метода, он вычисляет относительное изменение (также известное как процентное изменение или относительное изменение), а не процентное изменение. Если вам нужно процентное изменение, умножьте эти значения на 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–2022, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/2.2.2/reference/api/pandas.DataFrame.pct_change.html

Spec-Zone.ru

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