2
對於獲取數組的函數,我可以通過在給定(對象)數組的每個元素上調用函數 得到什麼結果?獲取數組,這是在對象數組的每個元素上調用函數的結果
我現在要做的是:
object_array # an array whose elements are objects
result_array=scipy.reshape([o.f() for o in object_array.flat], object_array.shape)
我的情況是類似的有object_array[i,j]
是scipy.stats.norm
,這裏分佈的參數是不同的元素不同的一個實例。 和scipy.stats.norm.rvs()
是我想調用的f()
。請注意,object_array
的尺寸可能相當大(最高可達1000x1000),所以我擔心這是次優的,因爲我在撥打reshape
時至少要複製一份結果。
退房'np.vectorize'(或'scipy.vectorize'你的情況) – wim
要使用vectorize您需要將.f()函數調用存儲在未附加到類實例的變量中。 func_ref = TypeOfO.f then new_fun = scipy.vectorize(func_ref)then new_fun(object_array) – Hammer