我正在尝试将 numpy
lambda函数转换为PySpark数据框的等效函数 . 我一直在努力寻找正确的功能/方法 .
我在Pandas数据帧上执行以下操作,为 panda_stack
生成一个新列 label
:
panda_stack['label'] = panda_stack.groupby('id')['prob1'].transform(lambda x: 0.0 if all(np.isnan(x)) else 1.0)
基本上,我有:
id prob1
id1 NA
id1 0.12
id2 NA
并希望:
id label
id1 1
id2 0
有人可以帮我翻译上面的代码到PySpark数据框的相同内容吗?
2 回答
您可以使用
collect_list
并应用相同的numpy lambda
函数 .我不能直截了当地回答 . 但在其他人回答之前,您可以使用以下代码