# pandas.Series.clip

`Series.``clip`(lower=None, upper=None, axis=None, inplace=False, *args, **kwargs)

  Trim values at input threshold(s).

  Assigns values outside boundary to boundary values. Thresholds can be singular values or array like, and in the latter case the clipping is performed element-wise in the specified axis.

  Parameters:

  lower : float or array_like, default None

  > Minimum threshold value. All values below this threshold will be set to it.

  upper : float or array_like, default None

  > Maximum threshold value. All values above this threshold will be set to it.

  axis : int or str axis name, optional

  > Align object with lower and upper along the given axis.

  inplace : bool, default False

  > Whether to perform the operation in place on the data.

  > New in version 0.21.0.

  *args, **kwargs

  > Additional keywords have no effect but might be accepted for compatibility with numpy.

  Returns:

  Series or DataFrame

  > Same type as calling object with the values outside the clip boundaries replaced.

  Examples

      >>> 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

  Clips per column using lower and upper thresholds:

      >>> df.clip(-4, 6)
         col_0  col_1
      0      6     -2
      1     -3     -4
      2      0      6
      3     -1      6
      4      5     -4

  Clips using specific lower and upper thresholds per column element:

      >>> 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

Scroll To Top