DataFrame.clip(lower=None, upper=None, axis=None, inplace=False, *args, **kwargs)
在输入阈值处修剪值。
将边界外的值指定给边界值。阈值可以是奇异值或数组,并且在后一种情况下,剪切在指定轴中以元素方式执行。
参数: | lower : float或array_like,默认为None 最小阈值。低于此阈值的所有值都将设置为它。 upper : float或array_like,默认为None 最大阈值。高于此阈值的所有值都将设置为它。 axis : int或string轴名称,可选 沿给定轴将对象与下部和上部对齐。 inplace : 布尔值,默认为False 是否对数据执行操作。 版本0.21.0中的新功能。 *args,** kwargs 其他关键字没有效果,但可以接受与numpy的兼容性。 |
返回: | Series或DataFrame 与调用对象相同的类型,替换了剪辑边界之外的值 |
例子
>>> 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
使用每个列元素的特定下限和上限阈值的剪辑:
>>> 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