我正在尝试使用并加速花式索引来“连接”两个数组并总结其中一个结果轴。快速(呃)numpy花式索引和减少?
事情是这样的:
$ ipython
In [1]: import numpy as np
In [2]: ne, ds = 12, 6
In [3]: i = np.random.randn(ne, ds).astype('float32')
In [4]: t = np.random.randint(0, ds, size=(1e5, ne)).astype('uint8')
In [5]: %timeit i[np.arange(ne), t].sum(-1)
10 loops, best of 3: 44 ms per loop
有一个简单的方法来加速In [5]
的声明?我应该去OpenMP和类似scipy.weave
或Cython
的prange
?
另一个相关的问题是我将如何使用'熊猫'来做同样的事情? – npinto 2012-08-03 16:59:06
Numpy在C速度下这么做,所以你可能无法通过编织加速它。 – reptilicus 2012-08-03 18:45:24