python中change的用法_python pandas Series.pct_change用法及代码示例

当前元素与先前元素之间的百分比变化。

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

参数:

periods:int, 默认为 1形成百分比变化所需的时间。

fill_method:str, 默认为 ‘pad’在计算百分比变化之前如何处理资产净值。

limit:int, 默认为 None停止前要填充的连续NA数。

freq:DateOffset, timedelta, 或 str, 可选参数从时间序列API开始使用的增量(例如‘M’或BDay())。

**kwargs:其他关键字参数传递到DataFrame.shift或者Series.shift。

返回值:

chg:Series 或 DataFrame与调用对象的类型相同。

例子:

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 中的百分比变化,其中用最后一个有效观察值填充到下一个有效观察值来填充NA。

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

2016 2015 2014

GOOG NaN -0.151997 -0.086016

APPL NaN 0.337604 0.012002

你可能感兴趣的:(python中change的用法_python pandas Series.pct_change用法及代码示例)