Home > Blockchain >  How to apply multiple lambda functions for a single column?
How to apply multiple lambda functions for a single column?

Time:03-20

I'm working on a project where I'm would like to use 2 lambda functions to find a match in another column. I created a dummy df with the following code below:

df = pd.DataFrame(np.random.randint(0,10,size=(100, 4)), columns=list('ABCD'))

Now I would like to find column A matches in column B.

df['match'] = df.apply(lambda x: x['B'].find(x['A']), axis=1).ge(0)

Now I would like to add an extra check where I'm also checking if column C values appear in column D:

df['match'] = df.apply(lambda x: x['D'].find(x['C']), axis=1).ge(0)

I'm searching for a solution where I can combine these 2 lines of code that is a one-liner that could be combined with an '&' operator for example. I hope this helps.

CodePudding user response:

You can use and operator instead.

df['match'] = df.apply(lambda x: (x['B'] == x['A']) and (x['D'] == x['C']), axis=1).ge(0)
  • Related