[英]Syntax error in lambda with if expression
basic_salary['dem_education_level_numeric']=basic_salary['dem_education_level'].apply(lambda x : 3 if (x == 'high'))
我得到以下錯誤:
SyntaxError: invalid syntax (<ipython-input-20-80adac538241>, line 1)
File "<ipython-input-20-80adac538241>", line 1
basic_salary['dem_education_level_numeric']=basic_salary['dem_education_level'].apply(lambda x : 3 if (x == 'high'))
^
SyntaxError: invalid syntax
請幫忙
如果你想有一個if
一個內部lambda
語句中, else
也必須定義。 每個lambda
語句都必須返回某些內容,即使它為None
。 如果x
不為"high"
,則返回None
,從而將您的lambda
語句更改為:
lambda x : 3 if x == 'high' else None # paralysis isn't necessary
Lambda語句需要返回某些內容,並且如果沒有else
子句,則返回結果可能是不明確的。 改成:
basic_salary['dem_education_level_numeric']=basic_salary['dem_education_level'].apply(lambda x : 3 if x == 'high' else 0)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.