pandas.core.groupby.SeriesGroupBy.diff#
- SeriesGroupBy.diff(periods=1)[源代码]#
元素的第一个离散差分。
计算每个元素与组中另一个元素的差异(默认是上一行的元素)。
- 参数:
- periodsint, 默认 1
用于计算差异的周期数,接受负值。
- 返回:
- Series 或 DataFrame
首先的区别。
参见
Series.groupby
对一个Series应用一个groupby函数。
DataFrame.groupby
对DataFrame的每一行或每一列应用一个groupby函数。
例子
对于 SeriesGroupBy:
>>> 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