当多列包含空值时pyspark中的加权平均计算

当多列包含空值时pyspark中的加权平均计算,pyspark,average,weighted,Pyspark,Average,Weighted,我有一个spark数据框,其形式如下: 我想计算一个加权总分,它将分别赋予任务、流程和函数一些x1、x2、x3权重。分数的公式是(len([common_i]/(len[Name_i]+len[Ref_Name_i]-len[common_i]),其中我代表任务/流程/函数。但是,对于[Name_i]和[Ref_Name_i]都为空的情况,我想将加权平均的分母设置为(1-xi),而不是1。有人能帮我吗

我有一个spark数据框,其形式如下:

我想计算一个加权总分,它将分别赋予任务、流程和函数一些x1、x2、x3权重。分数的公式是(len([common_i]/(len[Name_i]+len[Ref_Name_i]-len[common_i]),其中我代表任务/流程/函数。但是,对于[Name_i]和[Ref_Name_i]都为空的情况,我想将加权平均的分母设置为(1-xi),而不是1。有人能帮我吗