Dataframe PySpark-数据帧列值操作错误
我有一个包含以下4列的数据框: 日期|代码|子类|销售 其中,最后一列的数据类型:sales为float 我只想对该列应用numpy log函数,下面就是我正在做的Dataframe PySpark-数据帧列值操作错误,dataframe,pyspark,Dataframe,Pyspark,我有一个包含以下4列的数据框: 日期|代码|子类|销售 其中,最后一列的数据类型:sales为float 我只想对该列应用numpy log函数,下面就是我正在做的 import numpy as np from pyspark.sql.functions import udf log_func = udf(lambda x : np.log(x)) df.withColumn("sales",log_func(df['sales'])).show() 下面是我得到的错误: Py4JJav
import numpy as np
from pyspark.sql.functions import udf
log_func = udf(lambda x : np.log(x))
df.withColumn("sales",log_func(df['sales'])).show()
下面是我得到的错误:
Py4JJavaError:调用o278.showString时出错。
如果您能提供任何帮助,我将不胜感激,因为我不确定我的代码是否有问题。您能提供完整的回溯和少量数据样本吗?我的初步猜测是,您的
sales
列中可能有一个'null'、0
或负值。我还应该指出,这里不需要udf
——您可以使用:from pyspark.sql.functions import log;df.withColumn(“sales”,log(“sales”)).show()