pandas.core.groupby.SeriesGroupBy.diff
- SeriesGroupBy.diff(periods=1, axis=_NoDefault.no_default)[source]
-
Первое дискретное различие элемента.
Вычисляет разницу каждого элемента по сравнению с другим элементом в группе (по умолчанию - элемент в предыдущей строке).
- Parameters:
-
- periods:int, по умолчанию 1
-
Периоды сдвига для вычисления разницы, допускаются отрицательные значения.
- axis: ось для сдвига, по умолчанию 0
-
Вычисление разницы по строкам (0) или столбцам (1).
Устарело начиная с версии 2.1.0: Для axis=1, работа с базовым объектом вместо него. В противном случае ключевое слово axis не требуется.
- Returns:
-
- Series или DataFrame
-
Первые различия.
См. также
Series.groupby-
Применение функции groupby к Series.
DataFrame.groupby-
Применение функции groupby к каждой строке или столбцу DataFrame.
Примеры
Для 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
© 2008–2022, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/2.2.2/reference/api/pandas.core.groupby.SeriesGroupBy.diff.html