若是将向量 x 中指定百分比的极值掩盖,DolphinDB有winsorize函数。若百分比缩尾处理不能满足要求,可以用iif自定义函数,例如:
def clip(x,minValue,maxValue): iif(x>maxValue,maxValue,iif(x<minValue,minValue,x)) in = [1, 2, 3, 4, 5, 6, 7, 8 ] clip(in,2,6)
输出:
offset 0 1 2 3 4 5 6 7 0 2 2 3 4 5 6 6 6
numpy.clip()函数用于剪辑(限制)数组中的值。给定一个间隔,该间隔以外的值将被裁剪到间隔边。例如,如果指定间隔[2,6],则小于2的值将变为2,而大于6的值将变为6。
import numpy as np in_array = [1, 2, 3, 4, 5, 6, 7, 8 ] print ("Input array:", in_array) out_array = np.clip(in_array, a_min = 2, a_max = 6) print ("Output array:", out_array)
输出:
Input array: [1, 2, 3, 4, 5, 6, 7, 8] Output array: [2 2 3 4 5 6 6 6]