import math
import pyspark.sql.functions as F
from pyspark.sql.functions import udf
from pyspark.sql.types import IntegerType, FloatType
df = spark.createDataFrame(
[(10),
(20)],
IntegerType())
# Define a UDF to wrap the function call and define the return type
cosUDF = udf(lambda z: math.cos(z), FloatType())
df = (df .withColumn('new', cosUDF(F.col('value'))))
df.show()
2条答案
按热度按时间xuo3flqw1#
尝试使用**
cos
函数代替numpy**函数。要使用numpy函数,您需要使用
toPandas()
函数将dataframe转换为pandas dataframe
。Example:
ruarlubt2#
使
Numpy
与Pyspark
一起使用总是很麻烦,所以我建议使用math
来计算余弦