pandas.DataFrame.clip
- DataFrame.clip(lower=None, upper=None, *, axis=None, inplace=False, **kwargs)[source]
-
Обрезка значений по заданным пороговым значениям.
Присваивает значения, выходящие за пределы границ, к граничным значениям. Пороговые значения могут быть одиночными значениями или массивоподобными объектами, и в последнем случае обрезка выполняется поэлементно по указанной оси.
- Параметры:
-
- lower:float или массивоподобный объект, по умолчанию None
-
Минимальное пороговое значение. Все значения ниже этого порога будут установлены равными ему. Отсутствие порога (например, NA) не будет обрезать значение.
- upper:float или массивоподобный объект, по умолчанию None
-
Максимальное пороговое значение. Все значения выше этого порога будут установлены равными ему. Отсутствие порога (например, NA) не будет обрезать значение.
- axis:{{0 или ‘index’, 1 или ‘columns’, None}}, по умолчанию None
-
Выравнивает объект с нижним и верхним значениями по заданной оси. Для Series этот параметр не используется и по умолчанию равен None.
- inplace:bool, по умолчанию False
-
Выполнять операцию непосредственно на данных.
- *args, **kwargs
-
Дополнительные ключевые слова не влияют на результат, но могут быть приняты для совместимости с numpy.
- Возвращаемое значение:
-
- Series или DataFrame или None
-
Тип, совпадающий с типом вызываемого объекта, с заменой значений, выходящих за пределы границ обрезки, или None, если
inplace=True.
См. также
Series.clip-
Обрезка значений по пороговым значениям в Series.
DataFrame.clip-
Обрезка значений по пороговым значениям в DataFrame.
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.DataFrame.clip.html