【发布时间】:2020-07-03 03:47:45
【问题描述】:
我有几个尺寸为 30*30*30 的大型 numpy 数组,我需要在其上遍历数组,获取每个索引三元组的总和,并将这些元素按此总和分箱。例如,考虑这个简单的 2*2 数组:
test = np.array([[2,3],[0,1]])
该数组具有索引 [0,0]、[0,1]、[1,0] 和 [1,1]。此例程将返回列表:[2,[3,0],1],因为数组 test 中的 2 的索引和为 0,3 和 0 的索引和为 1,而 1 的索引和为 2。我知道遍历 NumPy 数组并检查总和的蛮力方法会起作用,但对于我的 N(=30) 大和几个数组的实际情况来说,它的效率太低了。任何有关使用 NumPy 例程完成此分组的输入将不胜感激。提前谢谢你。
【问题讨论】:
-
等索引的顺序重要吗?也就是说 [2,[0,3],1] 可以接受吗?
-
不,子列表中出现的顺序无关紧要。我只需要将它们分组到正确的子列表中。