pandas.DataFrame.clip#

DataFrame.clip(lower=None, upper=None, axis=None, inplace=False, *args, **kwargs)[源代码]#

修剪输入阈值上的值。

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

参数
lower浮点型或类似数组,默认为无

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

upper浮点型或类似数组,默认为无

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

axis整型或字符串轴名称,可选

沿给定轴将对象与下方和上方对齐。

inplace布尔值,默认为False

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

*args, ** 科瓦格人

其他关键字不起作用,但可能会被接受以与NumPy兼容。

退货
系列、DataFrame或无

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

使用每个列元素的特定下限和上限的剪辑:

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