pyspark.sql.functions.aggregate

pyspark.sql.functions。 ( 上校:ColumnOrName,initialValue:ColumnOrName,合並:可調用的((pyspark.sql.column.Column,pyspark.sql.column.Column],pyspark.sql.column.Column],完成:可選(可調用的((pyspark.sql.column.Column],pyspark.sql.column.Column]]=沒有一個 )→pyspark.sql.column.Column

二進製運算符適用於初始狀態和所有元素的數組,並減少這一狀態。最終的狀態轉化為最終結果通過應用一個函數完成。

兩個函數可以使用的方法、函數中定義pyspark.sql.functions和ScalaUserDefinedFunctions。PythonUserDefinedFunctions不支持(火星- 27052)。

參數
上校 或str

的名字列或表達式

initialValue 或str

初始值。的名字列或表達式

合並 函數

一個二元函數(acc):列,x:列)- >列……返回相同類型的表達式

完成 函數

一個可選的一元函數(x):列)- >專欄:用於轉換累積值。

返回

例子

> > >df=火花createDataFrame(((1,(20.0,4.0,2.0,6.0,10.0])),(“id”,“價值觀”))> > >df選擇((“價值觀”,點燃(0.0),λacc,x:acc+x)別名(“和”))顯示()+ - - - +|和|+ - - - +| 42.0 |+ - - - +
> > >def合並(acc,x):=acc+1總和=acc總和+x返回結構體(別名(“數”),總和別名(“和”))> > >df選擇((“價值觀”,結構體(點燃(0)別名(“數”),點燃(0.0)別名(“和”)),合並,λacc:acc總和/acc,)別名(“的意思是”))顯示()+ - - - +|是|+ - - - +| 8.4 |+ - - - +