使用重复索引增加 Numpy 多维数组 [英] Increment Numpy multi-d array with repeated indices
本文介绍了使用重复索引增加 Numpy 多维数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个 N 维数组和一组 N 个索引数组,我想增加谁的值.索引数组可能有重复的条目.
I have an N-dimensional array and a set N index arrays, who's values I want to increment. The index arrays might have have repeated entries.
没有重复,解决方案是
a = arange(24).reshape(2,3,4)
i = array([0,0,1])
j = array([0,1,1])
k = array([0,0,3])
a[i,j,k] += 1
使用重复(例如 j=array([0,0,2])
),我无法使重复次数增加 numpy.
With repeats, (ex. j=array([0,0,2])
), I'm unable to make numpy increment the replicates.
推荐答案
这个怎么样:
import numpy as np
a = np.zeros((2,3,4))
i = np.array([0,0,1])
j = np.array([0,0,1])
k = np.array([0,0,3])
ijk = np.vstack((i,j,k)).T
H,edge = np.histogramdd(ijk,bins=a.shape)
a += H
这篇关于使用重复索引增加 Numpy 多维数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文