pandas.core.groupby.DataFrameGroupBy.pct_change # DataFrameGroupBy。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