DataFrame.clip_upper(threshold, axis=None, inplace=False)
修剪高于给定阈值的值。
自版本0.24.0后不推荐使用:改为使用clip(upper = threshold)。
阈值以上的元素将更改为与阈值匹配 。阈值可以是单个值或数组,在后一种情况下,它执行截断元素。
参数: | threshold : 数字或类似数组 允许的最大值。超过阈值的所有值都将设置为此值。 float:将每个值与阈值进行比较。 array-like:阈值的形状应与它所比较的对象相匹配。 当self是一个系列时,阈值应该是长度。 当自我是一个数据帧,阈值应在2-d和相同的形状, 自对axis=None,或1-d和相同的长度轴线被比较。 axis : {0或'index',1或'columns'},默认为0 沿给定轴将对象与阈值对齐。 inplace : 布尔值,默认为False 是否对数据执行操作。 版本0.21.0中的新功能。 |
返回: | Series或DataFrame 修剪了值的原始数据。 |
例子
1)将所有值限制在一个标量上限
import pandas as pd # 创建示例DataFrame data = { 'A': [1, 2, 3, 4, 5], 'B': [5, 4, 3, 2, 1] } df = pd.DataFrame(data) print("Original DataFrame:") print(df) # 使用clip_upper将所有值限制在3以上 df_clipped = df.clip_upper(3) print("\nDataFrame after clip_upper(3):") print(df_clipped)
2)使用与DataFrame形状相同的对象作为上限
import pandas as pd import numpy as np # 创建示例DataFrame data = { 'A': [1, 2, 3, 4, 5], 'B': [5, 4, 3, 2, 1] } df = pd.DataFrame(data) # 创建与DataFrame形状相同的上限对象 threshold = pd.DataFrame({ 'A': [2, 2, 2, 2, 2], 'B': [3, 3, 3, 3, 3] }) print("Original DataFrame:") print(df) # 使用clip_upper将值限制在给定的上限以上 df_clipped = df.clip_upper(threshold) print("\nDataFrame after clip_upper with a DataFrame threshold:") print(df_clipped)
3)在原地操作
import pandas as pd # 创建示例DataFrame data = { 'A': [1, 2, 3, 4, 5], 'B': [5, 4, 3, 2, 1] } df = pd.DataFrame(data) print("Original DataFrame:") print(df) # 在原地使用clip_upper df.clip_upper(3, inplace=True) print("\nDataFrame after inplace clip_upper(3):") print(df)