NumPy:将数据排序并汇总到目标指数中

时间:2016-06-29 19:35:23

标签: python arrays numpy

另一个数据求和问题。我有一个(大)数据数组和索引长度相同的数组。

data = [1.0, 10.0, 100.0]
indices = [0, 2, 0]

目标是将data的条目汇总到一个新数组中,使索引k的条目对out[k]有用。对于上面的例子,结果将是

out = [101.0, 0.0, 10.0]

out的长度可以预先指定,或者只是max(indices)

(问题类似于NumPy: Sort and sum data into array,但此处提供目标索引除外。)

在循环中执行,

import numpy as np

out = np.zeros(2)
for val, k in zip(data, indices):
    out[k] += val

但如果data很大,则速度很慢。

有关如何加快速度的任何提示? (数组理解?)

0 个答案:

没有答案