pandas 1.4.2

ParametersReturns
pct_change(self: 'NDFrameT', periods=1, fill_method='pad', limit=None, freq=None, **kwargs) -> 'NDFrameT'

Computes the percentage change from the immediately previous row by default. This is useful in comparing the percentage of change in a time series of elements.

Parameters

periods : int, default 1

Periods to shift for forming percent change.

fill_method : str, default 'pad'

How to handle NAs before computing percent changes.

limit : int, default None

The number of consecutive NAs to fill before stopping.

freq : DateOffset, timedelta, or str, optional

Increment to use from time series API (e.g. 'M' or BDay()).

**kwargs :

Additional keyword arguments are passed into DataFrame.shift or Series.shift .

Returns

chg : Series or DataFrame

The same type as the calling object.

Percentage change between the current and a prior element.

See Also

DataFrame.diff

Compute the difference of two elements in a DataFrame.

DataFrame.shift

Shift the index by some number of periods.

Series.diff

Compute the difference of two elements in a Series.

Series.shift

Shift the index by some number of periods.

Examples

Series

This example is valid syntax, but we were not able to check execution
>>> s = pd.Series([90, 91, 85])
... s 0 90 1 91 2 85 dtype: int64
This example is valid syntax, but we were not able to check execution
>>> s.pct_change()
0         NaN
1    0.011111
2   -0.065934
dtype: float64
This example is valid syntax, but we were not able to check execution
>>> s.pct_change(periods=2)
0         NaN
1         NaN
2   -0.055556
dtype: float64

See the percentage change in a Series where filling NAs with last valid observation forward to next valid.

This example is valid syntax, but we were not able to check execution
>>> s = pd.Series([90, 91, None, 85])
... s 0 90.0 1 91.0 2 NaN 3 85.0 dtype: float64
This example is valid syntax, but we were not able to check execution
>>> s.pct_change(fill_method='ffill')
0         NaN
1    0.011111
2    0.000000
3   -0.065934
dtype: float64

DataFrame

Percentage change in French franc, Deutsche Mark, and Italian lira from 1980-01-01 to 1980-03-01.

This example is valid syntax, but we were not able to check execution
>>> 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
This example is valid syntax, but we were not able to check execution
>>> 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

Percentage of change in GOOG and APPL stock volume. Shows computing the percentage change between columns.

This example is valid syntax, but we were not able to check execution
>>> 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
This example is valid syntax, but we were not able to check execution
>>> df.pct_change(axis='columns', periods=-1)
          2016      2015  2014
GOOG  0.179241  0.094112   NaN
APPL -0.252395 -0.011860   NaN
See :

Local connectivity graph

Hover to see nodes names; edges to Self not shown, Caped at 50 nodes.

Using a canvas is more power efficient and can get hundred of nodes ; but does not allow hyperlinks; , arrows or text (beyond on hover)

SVG is more flexible but power hungry; and does not scale well to 50 + nodes.

All aboves nodes referred to, (or are referred from) current nodes; Edges from Self to other have been omitted (or all nodes would be connected to the central node "self" which is not useful). Nodes are colored by the library they belong to, and scaled with the number of references pointing them


File: /pandas/core/generic.py#10233
type: <class 'function'>
Commit: