作爲標題建議,我想高效地對函數進行集成,其核心是簡單地在下面完成這個工作(完整的函數是太長的方式發佈,但大部分時間就是在這裏度過):如何高效地對「矢量化」函數進行集羣化(numpy庫) - python
def func(*vargs):
for _n, _i in enumerate(inds):
the_args[_i] = vargs[_n]
kwargs.update(zip(names, vargs[len(inds):]))
return self.pyfunc(*the_args, **kwargs)
我已閱讀這些指南(http://cython.readthedocs.io/en/latest/src/tutorial/numpy.html和http://pandas.pydata.org/pandas-docs/stable/enhancingperf.html),這是非常有用的,但我的C的知識是太狹窄,他們使用他們的潛力的一小部分。
你會怎麼做呢? [Python 3.5.1,Cython 0.25a,Numpy 1.10.4]
我懷疑你是否可以。您正在迭代具有未知維數的數組,並調用返回未知類型的python函數。代碼中必須非常靈活,因此Cython不太可能提供幫助。 – DavidW
你是否堅持使用'pyfunc',一個黑箱python函數,cython不能轉換爲'c'? – hpaulj
我正在嘗試的東西正在減慢或不工作。我想過如在np.ndarray [DTYPE_t,ndim = 2], cdef np.ndarray [DTYPE_t,ndim = 2] h = ...中的其中一個參數中定義ndarray類型,但它似乎不工作 – Asher11