[英]How to use regex within pandas_udf function in pyspark?
[英]Colon (:) before pyspark.sql 'pandas_udf()' function?
在pyspark.sql模块的apply()文档中,提供了在函数“ pandas_udf()”之前包含冒号的代码。 这是什么意思,为什么包括在内? 我在尝试运行该行时遇到语法错误。 文档中的代码如下。
运行代码显然给了我一个语法错误。 还尝试了去除结肠,但没有运气。
from pyspark.sql.functions import pandas_udf, PandasUDFType
df = spark.createDataFrame(
[(1, 1.0), (1, 2.0), (2, 3.0), (2, 5.0), (2, 10.0)],
("id", "v"))
:pandas_udf("id long, v double", PandasUDFType.GROUPED_MAP) # doctest: +SKIP
def normalize(pdf):
v = pdf.v
return pdf.assign(v=(v - v.mean()) / v.std())`enter code here`
df.groupby("id").apply(normalize).show() # doctest: +SKIP
这是文档错误。 pandas_udf
旨在用作装饰器,因此应在@
之前而不是:
。
这个例子应该工作:
from pyspark.sql.functions import pandas_udf, PandasUDFType
# Use pandas_udf to define a Pandas UDF
@pandas_udf('double', PandasUDFType.SCALAR)
# Input/output are both a pandas.Series of doubles
def pandas_plus_one(v):
return v + 1
df.withColumn('v2', pandas_plus_one(df.v))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.