我正在尝试获取一个数组,该数组是通过将不同的函数都存储在同一参数的numpy数组中生成的,有没有一种有效的方法使用numpy对此进行编码?
#func_array- a numpy array of different functions that get the same parameter
#X - parameter for evey function in func_array
def aplly_all(func_array, X):
return func_array(X)
#where return value is an array where index i has the value - func_array[i](X)
我想到的唯一解决方案是遍历func_array,我想知道是否有更快的方法
答案 0 :(得分:0)
我曾经有完全相同的问题,这就是我被告知的内容:
numpy数组操作提供的矢量化加速是由于为数组定义的基本数据类型(例如,一个 floats数组)。
当数组元素是对象时,这种优势通常会被抵消。由于函数是对象,所以func_array
是对象的数组。因此,任何其他方法几乎都无法在迭代中提供任何加速。
这是我所学到的。我愿意接受更有经验的建议。