Dataframe PySpark-数据帧列值操作错误

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

我有一个包含以下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()
下面是我得到的错误:

Py4JJavaError:调用o278.showString时出错。


如果您能提供任何帮助,我将不胜感激,因为我不确定我的代码是否有问题。

您能提供完整的回溯和少量数据样本吗?我的初步猜测是,您的
sales
列中可能有一个'null'、
0
或负值。我还应该指出,这里不需要
udf
——您可以使用:
from pyspark.sql.functions import log;df.withColumn(“sales”,log(“sales”)).show()