将numpy函数数组应用于元素数组

时间:2020-05-21 09:35:32

标签: python arrays numpy

我正在尝试获取一个数组,该数组是通过将不同的函数都存储在同一参数的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,我想知道是否有更快的方法

1 个答案:

答案 0 :(得分:0)

我曾经有完全相同的问题,这就是我被告知的内容:
numpy数组操作提供的矢量化加速是由于为数组定义的基本数据类型(例如,一个 floats数组)。
当数组元素是对象时,这种优势通常会被抵消。由于函数是对象,所以func_array是对象的数组。因此,任何其他方法几乎都无法在迭代中提供任何加速。

这是我所学到的。我愿意接受更有经验的建议。