pandas.DataFrame.clip#
- DataFrame.clip(lower=None, upper=None, *, axis=None, inplace=False, **kwargs)[源代码]#
在输入阈值处修剪值。
将边界外的值赋值为边界值。阈值可以是单一值或类似数组,在后一种情况下,剪裁是按指定轴逐元素进行的。
- 参数:
- lower浮点数或类似数组的对象,默认无
最小阈值。所有低于此阈值的值都将被设置为该阈值。缺少阈值(例如 NA)将不会裁剪该值。
- upper浮点数或类似数组的对象,默认无
最大阈值。所有高于此阈值的值都将设置为该阈值。缺少阈值(例如 NA)将不会裁剪该值。
- 轴{{0 或 ‘index’, 1 或 ‘columns’, None}}, 默认 None
沿给定轴对齐对象与下限和上限。对于 Series,此参数未使用并默认为 None。
- inplace布尔值, 默认为 False
是否对数据执行就地操作。
- **kwargs
额外的关键字没有效果,但可能被接受以兼容 numpy。
- 返回:
- 系列或数据帧或无
调用对象的相同类型,剪辑边界外的值被替换,如果
inplace=True
则为 None。
参见
Series.clip
在序列中输入阈值处修剪值。
DataFrame.clip
在 DataFrame 中输入阈值处修剪值。
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.0 2.0 1 -3.0 -4.0 2 0.0 6.0 3 6.0 8.0 4 5.0 3.0