Pandas是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。Pandas提供了大量能使我们快速便捷地处理数据的函数和方法。你很快就会发现,它是使Python成为强大而高效的数据分析环境的重要因素之一。本文主要介绍一下Pandas中pandas.DataFrame.clip方法的使用。

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