我計算用下面的代碼我們可以在lambda python Pandas函數上使用多分支條件嗎?
temp['UFrio'] = temp['TempC'].map(lambda x: 0 if (x <0) math.sin((2*math.pi/28)*x) elif (x<25) else -1)
新熊貓列,但它給了我一個無效的語法錯誤。
你能幫我嗎?
謝謝
我計算用下面的代碼我們可以在lambda python Pandas函數上使用多分支條件嗎?
temp['UFrio'] = temp['TempC'].map(lambda x: 0 if (x <0) math.sin((2*math.pi/28)*x) elif (x<25) else -1)
新熊貓列,但它給了我一個無效的語法錯誤。
你能幫我嗎?
謝謝
寫這樣的:
def thingy(x):
if x < 0:
return 0
elif x < 25:
return math.sin((2*math.pi/28)*x)
else:
return -1
temp['UFrio'] = temp['TempC'].map(thingy)
可能是你能拿出一個比啄一個更好的名字。沒有必要把所有這些都放入lambda。
temp['UFrio'] = temp['TempC'].map(lambda x: 0 if (x <0) else x)
temp['UFrio'] = temp['TempC'].map(lambda x: math.sin((2*math.pi/28)*x) if (x<25) else -1)
我把if語句中的兩個,因爲如果u但ELIF會犯錯誤所以這我的方式來處理這個問題,我希望它幫
儘管這段代碼可以解決這個問題,[包括解釋](http://meta.stackexchange.com/questions/114762/explaining-entirely-code - 基於答案)真的有助於提高您的帖子的質量。請記住,您將來會爲讀者回答問題,而這些人可能不知道您的代碼建議的原因。 – Junaid
'0如果x <0,否則,math.sin( (2 * math.pi/28)* x)如果x <25 else -1' –
@ behzad.nouri:請發表一個答案,以便它可以被表決。 – unutbu
@ behzad.nouri謝謝。它正在工作。 – Hugo