将矢量化函数应用于数组数字



我想将函数应用于数组,但是当我调用它时,它会生成错误,因为该函数仅进入数组的第一个组件

import numpy as np
def fObjetivo(x):
    print(x)
    return x[0] + x[1] + x[2]
fObjetivo = np.vectorize(fObjetivo)
a = np.array([1,2,3])
print(fObjetivo(a))

错误在哪里?

在这种情况下,数组 a 被矢量化并一次发送一个元素。将 a 声明为 2D 数组 [:,3] 然后以 a[0] 形式发送。它可能会起作用。