Map an if statement in Python

30,985

Solution 1

Try

lambda x: 1 if x == "C" else 0

possible duplicate of Is there a way to perform "if" in python's lambda

Example :

map(lambda x: True if x % 2 == 0 else False, range(1, 11))

result will be - [False, True, False, True, False, True, False, True, False, True]

Solution 2

It will be simpler to just do this:

df["Cherbourg"] = (df["Embarked"] == "C").astype('int)
Share:
30,985
Brandon
Author by

Brandon

Updated on July 19, 2022

Comments

  • Brandon
    Brandon almost 2 years

    I'm trying to map the following function over a pandas dataframe (basically a list) in python 2.7:

    df["Cherbourg"] = df["Embarked"].map(lambda x: if (x == "C") 1 else 0)
    

    But python errors saying using a lambda function like this is a syntax error. Is there some way to map an if statement like this in python?