pandas.core.groupby.SeriesGroupBy.pct_change #

系列分组依据。pct_change ( period = 1 , fill_method = _NoDefault.no_default , limit = _NoDefault.no_default , freq = None , axis = _NoDefault.no_default ) [来源] #

计算组中每个值相对于前一个条目的 pct_change。

返回
系列或数据框

每组内的百分比变化。

也可以看看

Series.groupby

将函数 groupby 应用于系列。

DataFrame.groupby

将函数 groupby 应用于 DataFrame 的每一行或每一列。

例子

对于系列分组依据:

>>> lst = ['a', 'a', 'b', 'b']
>>> ser = pd.Series([1, 2, 3, 4], index=lst)
>>> ser
a    1
a    2
b    3
b    4
dtype: int64
>>> ser.groupby(level=0).pct_change()
a         NaN
a    1.000000
b         NaN
b    0.333333
dtype: float64

对于 DataFrameGroupBy:

>>> data = [[1, 2, 3], [1, 5, 6], [2, 5, 8], [2, 6, 9]]
>>> df = pd.DataFrame(data, columns=["a", "b", "c"],
...                   index=["tuna", "salmon", "catfish", "goldfish"])
>>> df
           a  b  c
    tuna   1  2  3
  salmon   1  5  6
 catfish   2  5  8
goldfish   2  6  9
>>> df.groupby("a").pct_change()
            b  c
    tuna    NaN    NaN
  salmon    1.5  1.000
 catfish    NaN    NaN
goldfish    0.2  0.125