scalar_function может обрабатывать только скалярные входные данные, мы могли бы использовать функцию np.vectorize (), чтобы превратить ее в векторизованную функцию. Обратите внимание, что входной аргумент np.vectorize () должен быть скалярной функцией, а выходные данные np.vectorize () - это новая функция, которая может обрабатывать векторный ввод.
Пожалуйста, напишите векторную функцию vector_function, которая будет применять операцию ? (?, ?), определенную выше, поэлементно с входными векторами с одинаковыми размерами x и y.
Итак, для скаляра я получил:
def scalar_function(x, y):
if x <= y:
return x*y
else:
return x/y
Для векторной функции у меня есть:
def vector_function(x, y):
vfunc = np.vectorize(scalar_function, otypes = [float])
return vfunc
С этого момента я застрял.