Spec-Zone.ru › pandas 2

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

Spec-Zone.ru

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