Create a dummy based on other variables in Python

Question:

I have three columns dummy variables, ‘dummy1’, ‘dummy2’ and ‘dummy3. I would like to create a new column with a new dummy, ‘new_dummy’, with 1 if at least one of dummies of before has a value 1. I am using python.

I have in mind something like this:

mydata['new_dummy'] = mydata.apply(lambda x: x['1'] if x['dummy1'] or x['dummy2'] or x['dummy3'] == '1' else x['0'], axis=1)

But it does not work. Give me an error saying "KeyError: ‘0’". Any idea why I have that error or any other method to do it?

Asked By: OgeiD

||

Answers:

Try This…

mydata = pd.DataFrame({"dummy1":["1","0"],
                       "dummy2":["0","0"],
                       "dummy3":["0","0"]})

mydata['new_dummy'] = mydata.apply(lambda x: '1' if str(x['dummy1']) == '1' or str(x['dummy2']) == '1' or str(x['dummy3']) == '1' else '0', axis=1)

# Output...

  dummy1 dummy2 dummy3 new_dummy
0      1      0      0         1
1      0      0      0         0
Answered By: Sachin Kohli
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.