pandas.DataFrame.clip#
- DataFrame.clip(lower=None, upper=None, *, axis=None, inplace=False, **kwargs)[源代码]#
在输入阈值处截断值。
将边界之外的值分配给边界值。阈值可以是单个值或类数组,在后一种情况下,剪切会沿指定的轴逐元素执行。
- Parameters:
- lowerfloat 或类数组,默认 None
最小阈值。低于此阈值的所有值都将设置为此阈值。缺失阈值(例如 NA)不会剪切该值。
- upperfloat 或类数组,默认 None
最大阈值。高于此阈值的所有值都将设置为此阈值。缺失阈值(例如 NA)不会剪切该值。
- axis{{0 或 ‘index’,1 或 ‘columns’,None}},默认 None
沿给定轴对齐对象与 lower 和 upper。对于 Series,此参数未使用,默认为 None。
- inplacebool,默认 False
是否在数据上原地执行操作。
- *args, **kwargs
其他关键字没有影响,但可能为了与 numpy 兼容而接受。
- Returns:
- Series 或 DataFrame 或 None
与调用对象相同的类型,其中边界外的 valori 已替换,或者如果
inplace=True则为 None。
参见
Series.clip在 series 中将值修剪到输入阈值。
DataFrame.clip在 dataframe 中将值修剪到输入阈值。
numpy.clip剪切(限制)数组中的值。
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
使用 lower 和 upper 阈值按列进行剪切:
>>> df.clip(-4, 6) col_0 col_1 0 6 -2 1 -3 -4 2 0 6 3 -1 6 4 5 -4
使用每个列的特定 lower 和 upper 阈值进行剪切:
>>> 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
使用每个列元素的特定 lower 和 upper 阈值进行剪切:
>>> 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
使用每个列元素的特定 lower 阈值进行剪切,包含缺失值:
>>> 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