Hướng dẫn how do you calculate percent change in a dataframe in python? - làm thế nào để bạn tính phần trăm thay đổi trong một khung dữ liệu trong python?

DataFrame.pct_change (thời gian = 1, fill_method = 'pad', giới hạn = none, freq = none, ** kwargs) [nguồn]#pct_change(periods=1, fill_method='pad', limit=None, freq=None, **kwargs)[source]#

Tỷ lệ thay đổi giữa các yếu tố hiện tại và một yếu tố trước.

Tính toán tỷ lệ phần trăm thay đổi từ hàng trước ngay lập tức theo mặc định. Điều này rất hữu ích trong việc so sánh tỷ lệ phần trăm thay đổi trong một chuỗi thời gian của các yếu tố.

Tham sốperiodsint, default 1

Thời gian thay đổi để hình thành phần trăm thay đổi.

fill_methodstr, mặc định ‘padstr, default ‘pad’

Cách xử lý NAS trước khi tính toán phần trăm thay đổi.before computing percent changes.

giới hạn, mặc định không cóint, default None

Số lượng NAS liên tiếp để điền trước khi dừng lại.

freqdateoffset, Timedelta hoặc STR, tùy chọnDateOffset, timedelta, or str, optional

Tăng để sử dụng từ API chuỗi thời gian (ví dụ: M, hoặc bday ()).

**kwargs

Các đối số từ khóa bổ sung được chuyển vào dataFrame.shift hoặc series.shift.

ReturnSchgseries hoặc dataFramechgSeries or DataFrame

Cùng loại với đối tượng gọi.

Ví dụ

Loạt

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

Xem phần trăm thay đổi trong một chuỗi trong đó việc điền NAS với quan sát hợp lệ cuối cùng chuyển tiếp đến hợp lệ tiếp theo.

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

Khung dữ liệu

Thay đổi tỷ lệ phần trăm trong Franc Pháp, Deutsche Mark và Lira Ý từ 1980-01-01 đến 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

Tỷ lệ thay đổi trong khối lượng cổ phiếu Goog và Appl. Hiển thị tính toán phần trăm thay đổi giữa các cột.

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