簡體   English   中英

使用if表達式的lambda中的語法錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM