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)