pandas.Series.clip
- Series.clip(lower=None, upper=None, *, axis=None, inplace=False, **kwargs)[source]
-
Обрезка значений по заданному(ым) порогу(ам).
Присваивает значения, выходящие за пределы границ, значениям границ. Пороги могут быть одиночными значениями или массивоподобными объектами, и в последнем случае обрезка выполняется поэлементно по указанной оси.
- Parameters:
-
- lower:float или array-like, по умолчанию None
-
Минимальное пороговое значение. Все значения ниже этого порога будут установлены равными ему. Отсутствие порога (например, NA) не будет обрезать значение.
- upper:float или array-like, по умолчанию None
-
Максимальное пороговое значение. Все значения выше этого порога будут установлены равными ему. Отсутствие порога (например, NA) не будет обрезать значение.
- axis:{{0 или ‘index’, 1 или ‘columns’, None}}, по умолчанию None
-
Выравнивает объект с lower и upper по заданной оси. Для Series этот параметр не используется и по умолчанию равен None.
- inplace:bool, по умолчанию False
-
Определяет, нужно ли выполнять операцию непосредственно над данными.
- *args, **kwargs
-
Дополнительные ключевые параметры не оказывают влияния, но могут приниматься для совместимости с numpy.
- Returns:
-
- Series или DataFrame или None
-
Тип объекта, вызвавшего метод, с заменой значений, выходящих за пределы обрезки, или None, если
inplace=True.
См. также
Series.clip-
Обрезка значений по заданному порогу в серии.
DataFrame.clip-
Обрезка значений по заданному порогу в фрейме данных.
numpy.clip-
Обрезка (ограничение) значений в массиве.
Примеры
>>> data = {'col_0': [9, -3, 0, -1, 5], 'col_1': [-2, -7, 6, 8, -5]} >>> df = pd.DataFrame(data) >>> df col_0 col_1 0 9 -2 1 -3 -7 2 0 6 3 -1 8 4 5 -5Обрезка по столбцам с использованием нижних и верхних пороговых значений:
>>> df.clip(-4, 6) col_0 col_1 0 6 -2 1 -3 -4 2 0 6 3 -1 6 4 5 -4
Обрезка с использованием определённых нижних и верхних пороговых значений для каждого столбца:
>>> df.clip([-2, -1], [4, 5]) col_0 col_1 0 4 -1 1 -2 -1 2 0 5 3 -1 5 4 4 -1Обрезка с использованием определённых нижних и верхних пороговых значений для каждого элемента столбца:
>>> t = pd.Series([2, -4, -1, 6, 3]) >>> t 0 2 1 -4 2 -1 3 6 4 3 dtype: int64
>>> df.clip(t, t + 4, axis=0) col_0 col_1 0 6 2 1 -3 -4 2 0 3 3 6 8 4 5 3
Обрезка с использованием определённого нижнего порога для каждого элемента столбца, с пропусками:
>>> t = pd.Series([2, -4, np.nan, 6, 3]) >>> t 0 2.0 1 -4.0 2 NaN 3 6.0 4 3.0 dtype: float64
>>> df.clip(t, axis=0) col_0 col_1 0 9 2 1 -3 -4 2 0 6 3 6 8 4 5 3
© 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.Series.clip.html