pandas.Series.pct_change#
- Series.pct_change(periods=1, fill_method='pad', limit=None, freq=None, **kwargs)[source]#
- Percentage change between the current and a prior element. - 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
- periodsint, default 1
- Periods to shift for forming percent change. 
- fill_methodstr, default ‘pad’
- How to handle NAs before computing percent changes. 
- limitint, default None
- The number of consecutive NAs to fill before stopping. 
- freqDateOffset, 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
- chgSeries or DataFrame
- The same type as the calling object. 
 
 - See also - Series.diff
- Compute the difference of two elements in a Series. 
- DataFrame.diff
- Compute the difference of two elements in a DataFrame. 
- Series.shift
- Shift the index by some number of periods. 
- DataFrame.shift
- Shift the index by some number of periods. 
 - Examples - 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 - See the percentage change in a Series where filling NAs with last valid observation forward to next valid. - >>> s = pd.Series([90, 91, None, 85]) >>> s 0 90.0 1 91.0 2 NaN 3 85.0 dtype: float64 - >>> 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. - >>> 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 - Percentage of change in GOOG and APPL stock volume. Shows computing the percentage change between columns. - >>> 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