基本Pyspark问题-如果否则等效



嗨,非常基本的问题,但我是Pyspark的新手。我希望我的函数根据输入参数返回不同的列,但不知道如何做到这一点。在Python中对应的是:

if model='a': return df[[colA,colB]] if model ='b': return df[[colA,colB,colC]]

Thanks in advance

Pyspark等效的方法是使用select来获取所需的列-

if model = 'a':
return df.select(*[colA,colB])
elif model = 'b':
return df.select(*[colA,colB,colC])

您可以在pyspark中实现类似于python的if else逻辑。你也可以在python中使用if elif else等。包括while和for循环,但这完全取决于你的需求和你想用逻辑做什么。

if res_flag=="Model 1":
return df.select('colA','colB')
elif res_flag=="Model 1":
return df.select('colA','colB','colc')
else:
return df    

最新更新