Я использую искру 2.1 и использую pyscripting
Постановка проблемы: есть сценарий, в котором необходимо передать несколько столбцов в качестве входных данных и вернуть один столбец в качестве выходных данных. Ниже приведен мой входной фрейм данных из 3 столбцов.
a b c
S S S
S NS NS
S NS S
S S NS
NS S NS
мой вывод должен быть таким, как показано ниже
a b c d
S S S S
S NS NS NS
S NS S S
S S NS NS
NS S NS NS
Я пытаюсь зарегистрировать UDF для передачи этих 3 столбцов [a, b, c] в качестве ввода и возврата столбца d в качестве вывода здесь a, b, c, d - это имена столбцов.
Мне трудно получить вывод ниже, это используемый синтаксис
def return_string(x):
if [x.a=='s' & x.b=='S' & x.c=='s']
return 'S'
else if[x.a=='s' & x.b=='NS' & x.c=='s']
return 'S'
else if[x.a=='s' & x.b=='S' & x.c=='NS']
return 'NS;
func= udf(returnstring,types.StringType())
Может ли кто-нибудь помочь мне в завершении этой логики.