作为标题建议,我想高效地对函数进行集成,其核心是简单地在下面完成这个工作(完整的函数是太长的方式发布,但大部分时间就是在这里度过):如何高效地对“矢量化”函数进行集群化(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