pandas.DataFrame.clip #

数据框。Clip ( lower = None , upper = None , * , axis = None , inplace = False , ** kwargs ) [来源] #

在输入阈值处修剪值。

将边界外的值分配给边界值。阈值可以是奇异值或类似数组,在后一种情况下,剪切是在指定轴上按元素执行的。

参数
较低的浮点数或类似数组,默认 None

最小阈值。所有低于此阈值的值都将设置为此阈值。缺少阈值(例如NA)将不会剪切该值。

上部浮点数或类似数组,默认 None

最大阈值。所有高于此阈值的值都将设置为此阈值。缺少阈值(例如NA)将不会剪切该值。

axis {{0 或 'index', 1 或 'columns', None}}, 默认 None

沿给定轴将对象与下部和上部对齐。对于系列,此参数未使用,默认为None

inplace布尔值,默认 False

是否对数据执行就地操作。

*args,**kwargs

其他关键字没有效果,但可能会被接受以与 numpy 兼容。

返回
系列或数据框或无

与调用对象的类型相同,但替换了剪辑边界之外的值,或者如果为 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