使用重复索引增加 Numpy 多维数组 [英] Increment Numpy multi-d array with repeated indices

查看:33
本文介绍了使用重复索引增加 Numpy 多维数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我对具有重复索引的递增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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆