Python Pandas dataframe.clip()
Python是一种进行数据分析的伟大语言,主要是因为以数据为中心的Python包的奇妙生态系统。Pandas就是这些包中的一个,它使导入和分析数据变得更加容易。
Pandas dataframe.clip()用于修剪指定输入阈值的数值。我们可以用这个函数为数据框架中任何单元格的值设置下限和上限。
语法: DataFrame.clip(lower=None, upper=None, axis=None, inplace=False, *args, **kwargs)
参数:
lower :最小阈值。所有低于这个阈值的值都将被设置为它。
upper :最大阈值。所有高于这个阈值的值都将被设置为它。
axis : 沿着给定的axis线将对象的下部和上部对齐。
inplace :是否对数据进行就地操作。
*args, **kwargs :附加的关键字没有任何作用,但为了与numpy兼容,可能会被接受。
例子#1:使用clip()函数来修剪数据框中低于和高于给定阈值的数值。
# importing pandas as pd
import pandas as pd
# Creating a dataframe using dictionary
df = pd.DataFrame({"A":[-5, 8, 12, -9, 5, 3],
"B":[-1, -4, 6, 4, 11, 3],
"C":[11, 4, -8, 7, 3, -2]})
# Printing the data frame for visualization
df
现在将所有低于-4的值修剪为-4,所有高于9的值修剪为9。介于-4和9之间的值保持不变。
# Clip in range (-4, 9)
df.clip(-4, 9)
输出 :
注意,数据框中没有任何大于9和小于-4的数值。
例子#2:使用clip()函数在数据框架中的每一列元素使用特定的下限和上限阈值进行剪辑。
# importing pandas as pd
import pandas as pd
# Creating a dataframe using dictionary
df = pd.DataFrame({"A":[-5, 8, 12, -9, 5, 3],
"B":[-1, -4, 6, 4, 11, 3],
"C":[11, 4, -8, 7, 3, -2]})
# Printing the dataframe
df
当axis=0时,那么该值将在整个行中被削去。我们将为所有的列元素提供上限和下限阈值(即相当于行的数量)
创建一个系列来存储每个列元素的下限和上限阈值。
# lower limit for each individual column element.
lower_limit = pd.Series([1, -3, 2, 3, -2, -1])
# upper limit for each individual column element.
upper_limit = lower_limit + 5
# Print lower_limit
lower_limit
# Print upper_limit
upper_limit
输出 :
现在我们要在数据框上应用这些限制。
# applying different limit value for each column element
df.clip(lower_limit, upper_limit, axis = 0)
输出 :