Tôi đang cố gắng sử dụng và tăng tốc việc lập chỉ mục ưa thích để "nối" hai mảng và tổng kết một trục của kết quả.Nhanh chóng (er) lập chỉ mục và giảm thiểu numpy ưa thích?
Something như thế này:
$ 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
Có một cách đơn giản để đẩy nhanh tiến độ tuyên bố trong In [5]
? Tôi có nên sử dụng OpenMP và một số thứ như scipy.weave
hoặc Cython
's prange
?
Một câu hỏi liên quan khác là làm cách nào để tôi sử dụng 'pandas' để làm điều tương tự? – npinto
Numpy đang làm điều đó ở tốc độ C, do đó bạn có thể sẽ không thể tăng tốc độ lên nhiều với dệt. – reptilicus