【问题标题】:Converting a lambda function to an if else statement将 lambda 函数转换为 if else 语句
【发布时间】:2019-10-10 20:40:05
【问题描述】:

我正在尝试将此 Python lambda 函数转换为 if-else 语句,以便可以在其上添加其他参数。有人能解释一下这个 Lambda 如果转换为 if-esle 语句会是什么样子吗?

df['type'] = df[FEATURE_NAME].map(lambda column_name: 'property' if is_categorical(column_name) else 'metric')

【问题讨论】:

  • 当前是 if-else 语句
  • @PaulH 不,这是一个条件表达式。
  • 土豆pah-tah-toe
  • @PaulH 不,它不是,它是一个条件表达式。这是一个重要的区别,因为您不能将复杂的语句放在 lambda 函数中,它们只接受表达式。
  • @juanpa.arrivillaga 看到我对另一个说几乎完全相同的话的人的回应

标签: python python-3.x if-statement lambda


【解决方案1】:

这是您正在寻找的答案吗?

def foo(column_name): 
    if is_categorical(column_name):
        return 'property'
    else:
        return 'metric'     

df['type'] = df[FEATURE_NAME].map(foo)

【讨论】:

    猜你喜欢
    • 2019-04-09
    • 2014-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多