【发布时间】:2018-05-11 02:09:33
【问题描述】:
我有一个数组arr_val,它在大尺寸的位置存储某个函数的值(为了说明,我们只取一个小的 4 个位置)。现在,假设我还有另一个数组loc_array 存储函数的位置,并假设位置再次是相同的数字 4。但是,位置数组是多维数组,因此每个位置索引具有相同的 4 个子-位置索引,每个子位置索引是一对坐标。为了清楚地说明:
arr_val = np.array([1, 2, 3, 4])
loc_array = np.array([[[1,1],[2,3],[3,1],[3,2]],[[1,2],[2,4],[3,4],[4,1]],
[[2,1],[1,4],[1,3],[3,3]],[[4,2],[4,3],[2,2],[4,4]]])
上述两个数组的含义是某个感兴趣的参数的值,例如位置[1,1],[2,3],[3,1],[3,2] 是1,等等。但是,我有兴趣以不同的形式重新表达上面的相同事物,而不是随机点,我希望有以下易处理形式的坐标
coord = [[[1,1],[1,2],[1,3],[1,4]],[[2,1],[2,2],[2,3],[2,4]],[[3,1],[3,2],
[3,3],[3,4]],[[4,1],[4,2],[4,3],[4,4]]]
以及在各个坐标处的值以
形式给出val = [[1, 2, 3, 3],[3, 4, 1, 2],[1, 1, 3, 2], [2, 4, 4, 4]]
对于大型 numpy 数组,实现上述目标的一种非常有效的方法是什么?
【问题讨论】:
标签: python arrays numpy binning array-broadcasting