我正在尝试使用和加速花式索引来“连接”两个数组,并对结果的一个轴求和。
类似于这样:
类似于这样:
$ 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
吗?
pandas
来完成同样的事情? - npinto