maxframe.dataframe.DataFrame.clip#

DataFrame.clip(lower=None, upper=None, *, axis=None, inplace=False)#

在输入阈值处修剪值。

将超出边界的值赋为边界值。阈值可以是单个值或类似数组的形式,在后一种情况下,裁剪将在指定轴上逐元素执行。

参数:
  • lower (float or array-like, default None) -- 最小阈值。所有低于此阈值的值将被设为此值。如果为 None,则不进行下限裁剪。

  • upper (float or array-like, default None) -- 最大阈值。所有高于此阈值的值将被设为此值。如果为 None,则不进行上限裁剪。

  • axis (int or str axis name, optional) -- 沿给定轴对齐对象的下限和上限。

  • inplace (bool, default False) -- 是否在数据上就地执行操作。

  • *args -- 附加关键字没有效果,但可能会为了与 numpy 兼容而被接受。

  • **kwargs -- 附加关键字没有效果,但可能会为了与 numpy 兼容而被接受。

返回:

与调用对象类型相同,并将超出裁剪边界的值替换,如果 inplace=True 则返回 None。

返回类型:

Series or DataFrame or None

参见

Series.clip

在 Series 中按输入阈值修剪值。

DataFrame.clip

在 DataFrame 中按输入阈值修剪值。

numpy.clip

裁剪(限制)数组中的值。

示例

>>> import maxframe.dataframe as md
>>> data = {'col_0': [9, -3, 0, -1, 5], 'col_1': [-2, -7, 6, 8, -5]}
>>> df = md.DataFrame(data)
>>> df.execute()
   col_0  col_1
0      9     -2
1     -3     -7
2      0      6
3     -1      8
4      5     -5

使用下限和上限阈值按列进行裁剪:

>>> df.clip(lower=-4, upper=7).execute()
   col_0  col_1
0      7     -2
1     -3     -4
2      0      6
3     -1      7
4      5     -4

使用每列元素特定的下限和上限阈值进行裁剪:

>>> t = md.Series([2, -4, -1, 6, 3])
>>> t.execute()
0    2
1   -4
2   -1
3    6
4    3
dtype: int64
>>> df.clip(lower=t, upper=t).execute()
   col_0  col_1
0      2      2
1     -3     -4
2      0     -1
3     -1      6
4      5      3