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=ps。DataFrame({“一個”:範圍(1000年)})> > >df。一個。pandas_on_spark。transform_batch(長度)c083年01 832 83年…
請注意
這個API函數執行一次來推斷的類型可能是非常昂貴的,例如,當聚合或排序後創建的數據集。
為了避免這種情況,指定返回類型
函數
例如,如下:> > >defplus_one(x)- >ps。係列(int]:…返回x+1
- 參數
-
- 函數 函數
-
功能適用於每個熊貓幀。
- * args
-
位置參數傳遞給函數。
- * * kwargs
-
關鍵字參數傳遞給函數。
- 返回
-
- DataFrame
另請參閱
-
DataFrame.pandas_on_spark.apply_batch
-
相似但需要熊貓DataFrame作為其內部批。
例子
> > >df=ps。DataFrame(((1,2),(3,4),(5,6)),列=(“一個”,“B”])> > >df一個B0 1 21 3 42 5 6
> > >defplus_one_func(ps)- >ps。係列(np。int64]:…返回ps+1> > >df。一個。pandas_on_spark。transform_batch(plus_one_func)0 21 - 42 - 6名稱:dtype: int64
你也可以忽略提示所以pandas-on-Spark推斷返回類型模式如下:
> > >df。一個。pandas_on_spark。transform_batch(λps:ps+1)0 21 - 42 - 6名稱:dtype: int64
您還可以指定額外的參數。
> > >defplus_one_func(ps,一個,b,c=3)- >ps。係列(np。int64]:…返回ps+一個+b+c> > >df。一個。pandas_on_spark。transform_batch(plus_one_func,1,b=2)0 71 92 11名稱:dtype: int64
您還可以使用
np.ufunc
和內置函數作為輸入。> > >df。一個。pandas_on_spark。transform_batch(np。添加,10)0 111)132 15名稱:dtype: int64
> > >(df*- - - - - -1)。一個。pandas_on_spark。transform_batch(腹肌)0 11 32個5名稱:dtype: int64