pandas.Series.clip — pandas 0.24.0rc1 documentation (original) (raw)

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

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 string axis name, optional Align object with lower and upper along the given axis. inplace : boolean, 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