pandas 中的pct_change的用法
阿新 • • 發佈:2021-06-21
(1)df.pct_change()
DataFrame.pct_change(periods=1, fill_method=‘pad’, limit=None, freq=None, **kwargs)
表示當前元素與先前元素的相差百分比,當然指定periods=n,表示當前元素與先前n 個元素的相差百分比。
參考文件
例子:
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']) print(df) print(df.pct_change()) print(df.pct_change(axis='columns'))#可以指定按照行還是列進行計算的
結果如下:
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 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 FR GR IT 1980-01-01 NaN -0.573172 465.624145 1980-02-01 NaN -0.573225 462.339435 1980-03-01 NaN -0.570813 463.458124
再舉一個列子就是:
s = pd.Series([90, 91, 85]) s.pct_change(periods=2)#表示當前元素與先前兩個元素百分比
結果:
0 NaN 1 NaN 2 -0.055556 dtype: float64
也就是(85-90)/90=-0.055556
在pandas 中的series 以及dataframe的pct_change的用法是基本相同的可以參照官方文件檢視詳細內容。
再看看它們的用法把。參考
Series.diff
DataFrame.diff
Series.shift
DataFrame.shift