本文簡要介紹
pyspark.pandas.Series.apply
的用法。用法:
Series.apply(func: Callable, args: Sequence[Any] =(), **kwds: Any) → pyspark.pandas.series.Series
對 Series 的值調用函數。
可以是僅適用於係列的 Python 函數。
注意
此 API 執行該函數一次以推斷可能昂貴的類型,例如,在聚合或排序後創建數據集時。
為避免這種情況,請在
func
中指定返回類型,例如,如下所示:>>> def square(x) -> np.int32: ... return x ** 2
pandas-on-Spark 使用返回類型提示並且不嘗試推斷類型。
- func:函數
要應用的 Python 函數。請注意,返回類型的類型提示是必需的。
- args:元組
在係列值之後傳遞給 func 的位置參數。
- **kwds:
傳遞給 func 的附加關鍵字參數。
- Series
參數:
返回:
例子:
為每個城市創建一個具有典型夏季溫度的係列。
>>> s = ps.Series([20, 21, 12], ... index=['London', 'New York', 'Helsinki']) >>> s London 20 New York 21 Helsinki 12 dtype: int64
通過定義一個函數並將其作為參數傳遞給
apply()
來對值進行平方。>>> def square(x) -> np.int64: ... return x ** 2 >>> s.apply(square) London 400 New York 441 Helsinki 144 dtype: int64
定義一個需要額外位置參數的自定義函數,並使用
args
關鍵字傳遞這些額外參數>>> def subtract_custom_value(x, custom_value) -> np.int64: ... return x - custom_value
>>> s.apply(subtract_custom_value, args=(5,)) London 15 New York 16 Helsinki 7 dtype: int64
定義一個接受關鍵字參數並將這些參數傳遞給
apply
的自定義函數>>> def add_custom_values(x, **kwargs) -> np.int64: ... for month in kwargs: ... x += kwargs[month] ... return x
>>> s.apply(add_custom_values, june=30, july=20, august=25) London 95 New York 96 Helsinki 87 dtype: int64
使用 Numpy 庫中的函數
>>> def numpy_log(col) -> np.float64: ... return np.log(col) >>> s.apply(numpy_log) London 2.995732 New York 3.044522 Helsinki 2.484907 dtype: float64
您可以省略類型提示並讓pandas-on-Spark 推斷其類型。
>>> s.apply(np.log) London 2.995732 New York 3.044522 Helsinki 2.484907 dtype: float64
相關用法
- Python pyspark Series.append用法及代碼示例
- Python pyspark Series.asof用法及代碼示例
- Python pyspark Series.add_prefix用法及代碼示例
- Python pyspark Series.align用法及代碼示例
- Python pyspark Series.astype用法及代碼示例
- Python pyspark Series.any用法及代碼示例
- Python pyspark Series.argmin用法及代碼示例
- Python pyspark Series.argsort用法及代碼示例
- Python pyspark Series.add用法及代碼示例
- Python pyspark Series.all用法及代碼示例
- Python pyspark Series.add_suffix用法及代碼示例
- Python pyspark Series.aggregate用法及代碼示例
- Python pyspark Series.abs用法及代碼示例
- Python pyspark Series.at_time用法及代碼示例
- Python pyspark Series.axes用法及代碼示例
- Python pyspark Series.at用法及代碼示例
- Python pyspark Series.agg用法及代碼示例
- Python pyspark Series.argmax用法及代碼示例
- Python pyspark Series.to_frame用法及代碼示例
- Python pyspark Series.rsub用法及代碼示例
- Python pyspark Series.mod用法及代碼示例
- Python pyspark Series.str.join用法及代碼示例
- Python pyspark Series.str.startswith用法及代碼示例
- Python pyspark Series.dt.is_quarter_end用法及代碼示例
- Python pyspark Series.dropna用法及代碼示例
注:本文由純淨天空篩選整理自spark.apache.org大神的英文原創作品 pyspark.pandas.Series.apply。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。