本文簡要介紹
pyspark.pandas.DataFrame.transform
的用法。用法:
DataFrame.transform(func: Callable[[…], Series], axis: Union[int, str] = 0, *args: Any, **kwargs: Any) → DataFrame
調用
func
自行生成具有轉換值的係列,並且其長度與其輸入相同。另見Transform and apply a function。
注意
此 API 執行該函數一次以推斷可能昂貴的類型,例如,在聚合或排序後創建數據集時。
為避免這種情況,請在
func
中指定返回類型,例如,如下所示:>>> def square(x) -> ps.Series[np.int32]: ... return x ** 2
pandas-on-Spark 使用返回類型提示並且不嘗試推斷類型。
注意
func
中的係列實際上是多個 Pandas 係列作為整個pandas-on-Spark係列的片段;因此,不能保證每個係列的長度。例如,針對每個係列的聚合確實可以作為全局聚合,但是每個段的聚合。見下文:>>> def func(x) -> ps.Series[np.int32]: ... return x + sum(x)
- func:函數
用於轉換數據的函數。當 Pandas 係列通過時它必須工作。
- axis:int,默認 0 或 ‘index’
目前隻能設置為0。
- *args:
要傳遞給 func 的位置參數。
- **kwargs:
要傳遞給 func 的關鍵字參數。
- DataFrame
DataFrame 必須與 self 具有相同的長度。
- Exception:如果返回的 DataFrame 的長度與 self 的長度不同。
參數:
返回:
拋出:
例子:
>>> df = ps.DataFrame({'A': range(3), 'B': range(1, 4)}, columns=['A', 'B']) >>> df A B 0 0 1 1 1 2 2 2 3
>>> def square(x) -> ps.Series[np.int32]: ... return x ** 2 >>> df.transform(square) A B 0 0 1 1 1 4 2 4 9
您可以省略類型提示並讓pandas-on-Spark 推斷其類型。
>>> df.transform(lambda x: x ** 2) A B 0 0 1 1 1 4 2 4 9
對於多索引列:
>>> df.columns = [('X', 'A'), ('X', 'B')] >>> df.transform(square) X A B 0 0 1 1 1 4 2 4 9
>>> (df * -1).transform(abs) X A B 0 0 1 1 1 2 2 2 3
您還可以指定額外的參數。
>>> def calculation(x, y, z) -> ps.Series[int]: ... return x ** y + z >>> df.transform(calculation, y=10, z=20) X A B 0 20 21 1 21 1044 2 1044 59069
相關用法
- Python pyspark DataFrame.transform用法及代碼示例
- Python pyspark DataFrame.transpose用法及代碼示例
- Python pyspark DataFrame.truncate用法及代碼示例
- Python pyspark DataFrame.truediv用法及代碼示例
- Python pyspark DataFrame.to_latex用法及代碼示例
- Python pyspark DataFrame.to_delta用法及代碼示例
- Python pyspark DataFrame.to_table用法及代碼示例
- Python pyspark DataFrame.to_pandas用法及代碼示例
- Python pyspark DataFrame.to_records用法及代碼示例
- Python pyspark DataFrame.take用法及代碼示例
- Python pyspark DataFrame.to_excel用法及代碼示例
- Python pyspark DataFrame.toPandas用法及代碼示例
- Python pyspark DataFrame.tail用法及代碼示例
- Python pyspark DataFrame.to_spark_io用法及代碼示例
- Python pyspark DataFrame.toLocalIterator用法及代碼示例
- Python pyspark DataFrame.to_pandas_on_spark用法及代碼示例
- Python pyspark DataFrame.to_clipboard用法及代碼示例
- Python pyspark DataFrame.to_numpy用法及代碼示例
- Python pyspark DataFrame.to_orc用法及代碼示例
- Python pyspark DataFrame.to_dict用法及代碼示例
- Python pyspark DataFrame.toJSON用法及代碼示例
- Python pyspark DataFrame.to_parquet用法及代碼示例
- Python pyspark DataFrame.to_markdown用法及代碼示例
- Python pyspark DataFrame.to_csv用法及代碼示例
- Python pyspark DataFrame.toDF用法及代碼示例
注:本文由純淨天空篩選整理自spark.apache.org大神的英文原創作品 pyspark.pandas.DataFrame.transform。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。