I have a dataframe:
a b c
0 nan Y nan
1 23 N 3
2 nan N 2
3 44 Y nan
I wish to have this output:
a b c d
0 nan Y nan nan
1 23 N 3 96
2 nan N 2 nan
3 44 Y nan 44
I wish to have a condition which is when column a is null, then d will be null else if column b is N and column c is not null then column d is equal to column a * column c else column d equal column a
I have done this code but i get the error:
def f4(row):
if row['a']==np.nan:
return np.nan
elif row['b']=="N" & row(row['c'].notnull()):
return row['a']*row['c']
else:
return row['a']
DF['P1']=DF.apply(f4,axis=1)
can anyone help me point out where is my mistake? I have refer to this and try this but also get the error Creating a new column based on if-elif-else condition