pandas.core.groupby.DataFrameGroupBy.diff # DataFrameGroupBy。diff ( period = 1 , axis = _NoDefault.no_default ) [来源] # 元素的第一个离散差分。 计算每个元素与组中另一个元素相比的差异(默认为上一行中的元素)。 参数: 周期int,默认 1用于计算差异的偏移周期,接受负值。 axis轴要平移,默认0对行 (0) 或列 (1) 求差。 自版本 2.1.0 起已弃用:对于 axis=1,改为对基础对象进行操作。否则,axis 关键字不是必需的。 返回: 系列或数据框首先的区别。 也可以看看 Series.groupby将函数 groupby 应用于系列。 DataFrame.groupby将函数 groupby 应用于 DataFrame 的每一行或每一列。 例子 对于系列分组依据: >>> lst = ['a', 'a', 'a', 'b', 'b', 'b'] >>> ser = pd.Series([7, 2, 8, 4, 3, 3], index=lst) >>> ser a 7 a 2 a 8 b 4 b 3 b 3 dtype: int64 >>> ser.groupby(level=0).diff() a NaN a -5.0 a 6.0 b NaN b -1.0 b 0.0 dtype: float64 对于 DataFrameGroupBy: >>> data = {'a': [1, 3, 5, 7, 7, 8, 3], 'b': [1, 4, 8, 4, 4, 2, 1]} >>> df = pd.DataFrame(data, index=['dog', 'dog', 'dog', ... 'mouse', 'mouse', 'mouse', 'mouse']) >>> df a b dog 1 1 dog 3 4 dog 5 8 mouse 7 4 mouse 7 4 mouse 8 2 mouse 3 1 >>> df.groupby(level=0).diff() a b dog NaN NaN dog 2.0 3.0 dog 2.0 4.0 mouse NaN NaN mouse 0.0 0.0 mouse 1.0 -2.0 mouse -5.0 -1.0