pyspark.pandas.Series.pandas_on_spark.transform_batch

pandas_on_spark。 transform_batch ( 函數:可調用的[[…],pandas.core.series.Series],*arg遊戲:任何,* *kwargs:任何 )→係列

轉換數據的函數需要熊貓係列和輸出熊貓係列。熊貓係列的函數是一個批處理內部使用。

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

請注意

函數無法訪問整個輸入係列。pandas-on-Spark內部將輸入係列分為多個批次和調用函數多次與每一批。因此,隨著全球聚合之類的操作都是不可能的。看下麵的例子。

> > >#這裏不返回整個幀的長度,但是內部的批處理#使用。def長度(ps)- >ps係列(int]:返回pd係列([len(ps)]*len(ps))> > >df=psDataFrame({“一個”:範圍(1000年)})> > >df一個pandas_on_sparktransform_batch(長度)c083年01 832 83年

請注意

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

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

> > >defplus_one(x)- >ps係列(int]:返回x+1
參數
函數 函數

功能適用於每個熊貓幀。

* args

位置參數傳遞給函數。

* * kwargs

關鍵字參數傳遞給函數。

返回
DataFrame

另請參閱

DataFrame.pandas_on_spark.apply_batch

相似但需要熊貓DataFrame作為其內部批。

例子

> > >df=psDataFrame(((1,2),(3,4),(5,6)),=(“一個”,“B”])> > >df一個B0 1 21 3 42 5 6
> > >defplus_one_func(ps)- >ps係列(npint64]:返回ps+1> > >df一個pandas_on_sparktransform_batch(plus_one_func)0 21 - 42 - 6名稱:dtype: int64

你也可以忽略提示所以pandas-on-Spark推斷返回類型模式如下:

> > >df一個pandas_on_sparktransform_batch(λps:ps+1)0 21 - 42 - 6名稱:dtype: int64

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

> > >defplus_one_func(ps,一個,b,c=3)- >ps係列(npint64]:返回ps+一個+b+c> > >df一個pandas_on_sparktransform_batch(plus_one_func,1,b=2)0 71 92 11名稱:dtype: int64

您還可以使用np.ufunc和內置函數作為輸入。

> > >df一個pandas_on_sparktransform_batch(np添加,10)0 111)132 15名稱:dtype: int64
> > >(df*- - - - - -1)一個pandas_on_sparktransform_batch(腹肌)0 11 32個5名稱:dtype: int64