В Python 3 pandas фрейме данных
a,b
100000,NaN
100000,NaN
100000,NaN
100000,500
10000,5000
Я хотел бы создать новый столбец C на основе следующих логик c:
def applyFunc(a,b):
if a >= 25000 & b is not null:
return b*0.3
elif a >= 25000 & b is null:
return a*0.3
else:
return 0
обратите внимание, что столбцы a и b являются числами с плавающей запятой, но могут иметь значение null.
идеальный вывод:
a,b,c
100000,NaN,30000
100000,NaN,30000
100000,NaN,30000
100000,50000,15000
10000,5000,0
Я пробовал следующее:
df['c']=df.apply(lambda x:applyFunc(df['a'],df['b']), axis=1)
ошибка :
TypeError: ('cannot compare a dtyped [float64] array with a scalar of type [bool]', 'occurred at index 0')
Есть мысли? Спасибо!