![](/img/trans.png)
[英]Combine specific value of Multiple Arrays into one Single Array
[英]Combine multiple arrays into a single nested array in Python
我想将形状为 (I, J) 的 N arrays 组合成一个形状为 (I, J, N) 的数组,使得最终数组中 (i, j, n) 处的值等于(i, j) 处的第 n 个数组。
例如,假设我有两个 arrays:
arr1 = [[2,3,4],
[3,4,5]]
arr2 = [[3,4,2],
[4,3,5]]
那么最终的数组看起来像:
arr_final == [[[2,3], [3,4], [4,2]],
[[3,4], [4,3], [5,5]]]
或者,举一个更直接的例子:
arr1 = [[0,0,0],
[0,0,0]]
arr2 = [[1,1,1],
[1,1,1]]
arr3 = [[2,2,2],
[2,2,2]]
那么最终的数组看起来像:
arr_final == [[[0,1,2], [0,1,2], [0,1,2]],
[[0,1,2], [0,1,2], [0,1,2]]]
Python 中是否有 function,或者更具体地说是 Numpy,可以帮助我解决这个问题?
在 Numpy 中,可以使用numpy.stack
。 请记住将轴指定为 -1,以便根据您的问题正确组合它。
import numpy as np
arr_final = np.stack([arr1, arr2, ..., arrN], axis=-1)
将产生预期的结果。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.