pandas.DataFrame.diff
- DataFrame.diff(periods=1, axis=0)[source]
-
Первое дискретное различие элемента.
Вычисляет разницу элемента DataFrame по сравнению с другим элементом в DataFrame (по умолчанию — элемент в предыдущей строке).
- Параметры:
-
- periods:int, по умолчанию 1
-
Периоды сдвига для вычисления разницы, принимает отрицательные значения.
- axis:{0 или ‘индекс’, 1 или ‘колонки’}, по умолчанию 0
-
Вычислить разницу по строкам (0) или столбцам (1).
- Возвращает:
-
- DataFrame
-
Первые разности ряда.
См. также
DataFrame.pct_change-
Процентное изменение за заданное число периодов.
DataFrame.shift-
Сдвинуть индекс на нужное число периодов с необязательной временной частотой.
Series.diff-
Первое дискретное различие объекта.
Примечания
Для типов данных boolean используется
operator.xor()вместоoperator.sub(). Результат рассчитывается в соответствии с текущим типом данных в DataFrame, однако тип данных результата всегда float64.Примеры
Разница с предыдущей строкой
>>> df = pd.DataFrame({'a': [1, 2, 3, 4, 5, 6], ... 'b': [1, 1, 2, 3, 5, 8], ... 'c': [1, 4, 9, 16, 25, 36]}) >>> df a b c 0 1 1 1 1 2 1 4 2 3 2 9 3 4 3 16 4 5 5 25 5 6 8 36>>> df.diff() a b c 0 NaN NaN NaN 1 1.0 0.0 3.0 2 1.0 1.0 5.0 3 1.0 1.0 7.0 4 1.0 2.0 9.0 5 1.0 3.0 11.0Разница с предыдущим столбцом
>>> df.diff(axis=1) a b c 0 NaN 0 0 1 NaN -1 3 2 NaN -1 7 3 NaN -1 13 4 NaN 0 20 5 NaN 2 28Разница с третьей предыдущей строкой
>>> df.diff(periods=3) a b c 0 NaN NaN NaN 1 NaN NaN NaN 2 NaN NaN NaN 3 3.0 2.0 15.0 4 3.0 4.0 21.0 5 3.0 6.0 27.0Разница со следующей строкой
>>> df.diff(periods=-1) a b c 0 -1.0 0.0 -3.0 1 -1.0 -1.0 -5.0 2 -1.0 -1.0 -7.0 3 -1.0 -2.0 -9.0 4 -1.0 -3.0 -11.0 5 NaN NaN NaNПереполнение в типе данных входных данных
>>> df = pd.DataFrame({'a': [1, 0]}, dtype=np.uint8) >>> df.diff() a 0 NaN 1 255.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.DataFrame.diff.html