pandas.Series.pct_change#

Series.pct_change(periods=1, fill_method='pad', limit=None, freq=None, **kwargs)[源代码]#

当前元素和前一个元素之间的百分比变化。

默认情况下,计算上一行的更改百分比。这在比较元素的时间序列中的变化百分比时很有用。

参数
periods整型,默认值为1

为形成百分比变化而转换的期间。

fill_method字符串,默认‘Pad’

如何处理NAS 在此之前 计算百分比变化。

limitInt,默认为无

停止前要填充的连续NAS数。

freqDateOffset、TimeDelta或str,可选

从时间序列API使用的增量(例如M‘或BDay())。

**kwargs

其他关键字参数被传递到 DataFrame.shiftSeries.shift

退货
chg系列或DataFrame

与调用对象相同的类型。

参见

Series.diff

计算级数中两个元素的差值。

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

查看系列中的百分比变化,在该系列中,将上一个有效观测向前填充到下一个有效。

>>> 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

法国法郎、德国马克和意大利里拉从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