在 Python 中映射一个 if 语句
Map an if statement in Python
我正在尝试将以下函数映射到 python 2.7 中的 pandas 数据框(基本上是一个列表):
df["Cherbourg"] = df["Embarked"].map(lambda x: if (x == "C") 1 else 0)
但是 python 错误说像这样使用 lambda 函数是语法错误。有什么方法可以在 python 中映射这样的 if 语句吗?
尝试
lambda x: 1 if x == "C" else 0
可能重复
Is there a way to perform "if" in python's lambda
示例:
map(lambda x: True if x % 2 == 0 else False, range(1, 11))
结果将是 - [假,真,假,真,假,真,假,真,假,真]
这样做会更简单:
df["Cherbourg"] = (df["Embarked"] == "C").astype('int)
df["Cherbourg"] = df["Embarked"].apply(lambda x:1 if x == 'C' else 0)
我正在尝试将以下函数映射到 python 2.7 中的 pandas 数据框(基本上是一个列表):
df["Cherbourg"] = df["Embarked"].map(lambda x: if (x == "C") 1 else 0)
但是 python 错误说像这样使用 lambda 函数是语法错误。有什么方法可以在 python 中映射这样的 if 语句吗?
尝试
lambda x: 1 if x == "C" else 0
可能重复 Is there a way to perform "if" in python's lambda
示例:
map(lambda x: True if x % 2 == 0 else False, range(1, 11))
结果将是 - [假,真,假,真,假,真,假,真,假,真]
这样做会更简单:
df["Cherbourg"] = (df["Embarked"] == "C").astype('int)
df["Cherbourg"] = df["Embarked"].apply(lambda x:1 if x == 'C' else 0)