基本Pyspark问题-如果其他等效

ddarikpa  于 2023-10-15  发布在  Spark
关注(0)|答案(2)|浏览(94)

你好,非常基本的问题,但我是新的Pyspark。我希望我的函数根据输入参数返回不同的列,但不知道如何做到这一点。Python的等价物是:
if model='a': return df[[colA,colB]] if model ='b': return df[[colA,colB,colC]]
Thanks in advance

vi4fp9gy

vi4fp9gy1#

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

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

unftdfkk2#

你可以在pyspark中实现if else逻辑,类似于python。你也可以在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

相关问题