pyspark.sql.functions.percentile_approx

pyspark.sql.functions。 percentile_approx ( 上校:ColumnOrName,百分比:聯盟(pyspark.sql.column.Column,浮動,列表(浮動],元組(浮動]],精度:聯盟(pyspark.sql.column.Column,浮動]=10000年 )→pyspark.sql.column.Column

返回近似百分位數字的列上校這是命令的最小值上校值(排序從最小到最大),這樣不超過百分比上校的值小於或等於這個值。百分比的值必須在0.0和1.0之間。

精度參數(默認:10000)是一個積極的數字文字控製近似精度為代價的記憶。更高精度的價值更好的準確性,1.0 /精度的相對誤差近似。

當比例是一個數組,每個值的百分比數組必須在0.0和1.0之間。在這種情況下,返回近似百分位數組的列坳在給定百分比數組。

例子

> > >關鍵=(上校(“id”)%3)別名(“關鍵”)> > >價值=(randn(42)+關鍵*10)別名(“價值”)> > >df=火花範圍(0,1000年,1,1)選擇(關鍵,價值)> > >df選擇(percentile_approx(“價值”,(0.25,0.5,0.75),1000000)別名(“分位數”))printSchema()|——分位數:陣列(nullable = true)| |——元素:雙(containsNull = false)
> > >dfgroupBy(“關鍵”)gg(percentile_approx(“價值”,0.5,點燃(1000000))別名(“中值”))printSchema()| - - -關鍵:長(可空= true)|——中值:雙(nullable = true)