我有蟒蛇星火這個用戶定義函數:如何將if-then表達式添加到用戶定義的函數中?
result = udf(lambda num1, num2: (num1 - num2)/math.sqrt(1-(num1/num2)), FloatType())
我想添加一個檢查num1/num2
大於1。如果是低於1,則num1
應等於num2
。
if (num1/num2 > 1):
num1 = num2
如何將此簡單檢查添加到udf
表達式中?
我想這一點,但它似乎失敗:
def calculate(num1, num2):
if (num1/num2 > 1):
num1 = num2
result = (num1 - num2)/math.sqrt(1-(num1/num2))
return result
calc_z = udf(lambda num1, num2: calculate, FloatType())
udf(calculate,FloatType())'',不需要在'lambda'中錯誤地包裝它。 – deceze