def di(l1,l2, ln1, ln2):
dlt = (l2-l1)
dln = (ln2-ln1)
d = dlt * dln
return d
abc = newdf[['l1','l2','ln1','ln2']]
abc.columns
函数无错误地工作。但在处理数据帧时,它显示错误为
di() missing 2 required positional arguments: ln1, ln2
newdf = newdf.withColumn('newcolnm',reduce(di, ( newdf[col] for col in abc.columns ) ))
您的函数定义是正确的,但调用函数时没有传递所需的4个参数。您的调用应该类似于funct(a、b、c、d)
如果不想强制使用参数,请将函数定义为
这样可以省略不需要的参数
相关问题 更多 >
编程相关推荐