PySpark的异常值处理

时间:2018-11-20 10:04:07

标签: apache-spark pyspark outliers

我的数据中有异常值,我不想删除。因此,我将其替换为5个百分点和95个百分点。 我只想对dataframe中的几列进行这种处理。我的dataframe df中有a,b,c,d,e,f列

d = {}

colslist = ['a','c','d']
for col in colslist:
      d[col] = df.approxQuantile(col,[0.05,0.95],0.25)
      print(col+" done")

现在仅用于a,c和d,我想将异常值替换为5%和95%

在R中,我们以这种方式执行:

fun <- function(x){
    quantiles <- quantile( x, c(.05, .95 ) )
    x[ x < quantiles[1] ] <- quantiles[1]
    x[ x > quantiles[2] ] <- quantiles[2]
    x
}
fun( yourdata )

0 个答案:

没有答案