gpt4 book ai didi

python - NumPy:选择数据并将其求和到数组中

转载 作者:太空狗 更新时间:2023-10-30 02:17:59 24 4
gpt4 key购买 nike

我有一个(大)数据数组和一个(大)列表(几个)索引,例如,

data = [1.0, 10.0, 100.0]
contribs = [[1, 2], [0], [0, 1]]

对于 contribs 中的每个条目,我想总结 data 的相应值并将它们放入一个数组中。对于上面的例子,预期的结果是

out = [110.0, 1.0, 11.0]

循环执行此操作,

c = numpy.zeros(len(contribs))
for k, indices in enumerate(contribs):
for idx in indices:
c[k] += data[idx]

但是由于 datacontribs 很大,所以花费的时间太长了。

我觉得这可以通过使用 numpy 的奇特索引来改进。

有什么提示吗?

最佳答案

一种可能是

data = np.array(data)
out = [np.sum(data[c]) for c in contribs]

至少应该比双循环更快。

关于python - NumPy:选择数据并将其求和到数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38107571/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com