Ошибка при использовании pandas "apply" и "lambda" с Django
У нас есть требование, в котором нам нужно продвигать пользовательский код из фронт-энда (Django) в бэк-энд (код Visual studio, который выполняет код python).
Мы получаем указанную ниже ошибку, когда используем pandas "apply" и "lambda".
например
enter code here
exec('DFrame=pd.DataFrame({'A':['11','2','3'],'B':['X','Y','Z']})
print(DFrame.head())
def DD(X,Y):
return X+Y
DFrame['C']=DFrame.apply(lambda x: DD(x['A'], x['B']), axis=1)
print(DFrame.head())''')
Error we are getting :
NameError: name 'DD' is not defined
Может ли кто-нибудь предложить обходной путь для этого?
Поскольку вы используете apply, вы можете использовать либо DD, либо лямбду. Например, только с использованием лямбды:
df = pd.DataFrame({'A':['11','2','3'],'B':['1','2','3']})
df['C'] = df.apply(lambda x: x['A'] + x['B'], axis=1)
Вывод df будет следующим:
A B C
0 11 1 111
1 2 2 22
2 3 3 33