pyspark.pandas.DataFrame.transform

DataFrame。 變換 ( 函數:可調用的[[…],係列),:聯盟(int,str]=0,*arg遊戲:任何,* *kwargs:任何 )→DataFrame

調用函數與改變了價值觀和自我生產一係列具有相同的長度作為它的輸入。

另請參閱轉換並應用一個函數

請注意

這個API函數執行一次來推斷的類型可能是非常昂貴的,例如,當聚合或排序後創建的數據集。

為了避免這種情況,指定返回類型函數例如,如下:

> > >def廣場(x)- >ps係列(npint32]:返回x* *2

pandas-on-Spark使用返回類型提示,不試圖推斷類型。

請注意

這個係列中函數實際上是多個熊貓係列的部分整個pandas-on-Spark係列;因此,每個係列的長度是沒有保證的。作為一個例子,一個聚合對每個係列作為一個全球聚合,而是一個聚合的每個部分。見下文:

> > >def函數(x)- >ps係列(npint32]:返回x+總和(x)
參數
函數 函數

函數用於轉換數據。它必須當熊貓係列傳遞工作。

int,默認0或“指數”

目前隻能設置為0。

* args

位置參數傳遞給函數。

* * kwargs

關鍵字參數傳遞給函數。

返回
DataFrame

一個自我DataFrame必須具有相同的長度。

提出了
異常 如果返回的DataFrame長度不同的自我。

另請參閱

DataFrame.aggregate

隻有執行聚合類型操作。

DataFrame.apply

DataFrame上調用函數。

Series.transform

相當於函數級數。

例子

> > >df=psDataFrame({“一個”:範圍(3),“B”:範圍(1,4)},=(“一個”,“B”])> > >df一個B0 0 11 1 22 2 3
> > >def廣場(x)- >ps係列(npint32]:返回x* *2> > >df變換(廣場)一個B0 0 11 1 42 4 9

你可以省略類型提示,讓pandas-on-Spark推斷它的類型。

> > >df變換(λx:x* *2)一個B0 0 11 1 42 4 9

多索引的列:

> > >df=((“X”,“一個”),(“X”,“B”)]> > >df變換(廣場)X一個B0 0 11 1 42 4 9
> > >(df*- - - - - -1)變換(腹肌)X一個B0 0 11 1 22 2 3

您還可以指定額外的參數。

> > >def計算(x,y,z)- >ps係列(int]:返回x* *y+z> > >df變換(計算,y=10,z=20.)X一個B0 20 2121 10442 1044 59069