请翻译以下为中文:#
- DataFrameGroupBy.pct_change(periods=1, fill_method=None, freq=None)[源代码]#
计算组中每个值相对于前一个条目的 pct_change。
- 参数:
- periodsint, 默认 1
用于计算百分比变化的周期。与周期1相比意味着相邻元素被比较,而周期2则比较每隔一个元素。
- fill_methodNone
必须是 None。此参数将在 pandas 的未来版本中移除。
自 2.1 版本弃用: fill_method 的所有选项都已弃用,除了 fill_method=None。
- freqstr, pandas 偏移对象, 或 None, 默认 None
时间序列数据的频率增量(例如,’M’ 表示月末)。如果为 None,则从索引中推断频率。仅与时间序列数据相关。
- 返回:
- Series 或 DataFrame
每个组内的百分比变化。
参见
Series.groupby对一个 Series 应用 groupby 函数。
DataFrame.groupby对DataFrame的每一行或每一列应用一个groupby函数。
例子
对于 SeriesGroupBy:
>>> 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