pandas.DataFrame.cummax#

DataFrame.cummax(ось=None, skipna=True, *args, **kwargs)[источник]#

Возвращает кумулятивный максимум по оси DataFrame или Series.

Возвращает DataFrame или Series того же размера, содержащий кумулятивный максимум.

Параметры:
ось{0 или 'index', 1 или 'columns'}, по умолчанию 0

Индекс или имя оси. 0 эквивалентно None или 'index'. Для Series этот параметр не используется и по умолчанию равен 0.

skipnabool, по умолчанию True

Исключить значения NA/null. Если вся строка/столбец NA, результат будет NA.

*args, **kwargs

Дополнительные ключевые слова не оказывают эффекта, но могут быть приняты для совместимости с NumPy.

Возвращает:
Series или DataFrame

Возвращает кумулятивный максимум Series или DataFrame.

Смотрите также

core.window.expanding.Expanding.max

Аналогичная функциональность, но игнорирует NaN значения.

DataFrame.max

Возвращает максимум по оси DataFrame.

DataFrame.cummax

Возвращает кумулятивный максимум по оси DataFrame.

DataFrame.cummin

Возвращает кумулятивный минимум по оси DataFrame.

DataFrame.cumsum

Возвращает кумулятивную сумму по оси DataFrame.

DataFrame.cumprod

Возвращает кумулятивное произведение по оси DataFrame.

Примеры

Series

>>> s = pd.Series([2, np.nan, 5, -1, 0])
>>> s
0    2.0
1    NaN
2    5.0
3   -1.0
4    0.0
dtype: float64

По умолчанию значения NA игнорируются.

>>> s.cummax()
0    2.0
1    NaN
2    5.0
3    5.0
4    5.0
dtype: float64

Чтобы включить значения NA в операцию, используйте skipna=False

>>> s.cummax(skipna=False)
0    2.0
1    NaN
2    NaN
3    NaN
4    NaN
dtype: float64

DataFrame

>>> df = pd.DataFrame([[2.0, 1.0],
...                    [3.0, np.nan],
...                    [1.0, 0.0]],
...                   columns=list('AB'))
>>> df
     A    B
0  2.0  1.0
1  3.0  NaN
2  1.0  0.0

По умолчанию итерирует по строкам и находит максимум в каждом столбце. Это эквивалентно axis=None или axis='index'.

>>> df.cummax()
     A    B
0  2.0  1.0
1  3.0  NaN
2  3.0  1.0

Чтобы перебрать столбцы и найти максимум в каждой строке, используйте axis=1

>>> df.cummax(axis=1)
     A    B
0  2.0  2.0
1  3.0  NaN
2  1.0  1.0