Spec-Zone.ru › pandas 2

pandas.core.groupby.DataFrameGroupBy.diff

DataFrameGroupBy.diff(periods=1, axis=_NoDefault.no_default)[source]

Первое дискретное различие элементов.

Вычисляет разницу каждого элемента по сравнению с другим элементом в группе (по умолчанию — с элементом в предыдущей строке).

Parameters:
periods:int, по умолчанию 1

Периоды сдвига для вычисления разницы, принимает отрицательные значения.

axis:ось сдвига, по умолчанию 0

Вычислить разницу по строкам (0) или столбцам (1).

Устарело начиная с версии 2.1.0: Для axis=1, обработайте базовый объект вместо этого. В противном случае ключевое слово axis не требуется.

Returns:
Серия или 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.DataFrameGroupBy.diff.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API