【发布时间】:2020-10-02 01:30:12
【问题描述】:
我有3个nD数组如下
x = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
y = [[10, 11, 12],
[13, 14, 15],
[16, 17, 18]]
z = [[ 19, 20, 21],
[ 22, 23, 24],
[ 25, 26, 27]]
不使用 for 循环,我试图将每个 2x2 矩阵元素附加在一起,这样
a1 = [[1,2]
[4,5]]
a2 = [[10,11],
[13,14]]
a3 = [[19,20],
[22,23]]
should append to
a = [[1,10,19],[2,11,20],[4,13,22],[5,14,23]]
Please note, the NxN matrix will always be N = j - 1 where j is x.shape(i,j)
Similarly for other 2x2 matrices, the arrays are as follows
b = [[2,11,20],[3,12,21],[5,14,23],[6,15,24]]
c = [[4,13,22],[5,14,23],[7,16,25],[8,17,26]]
d = [[5,14,23],[6,15,24],[8,17,26],[9,18,27]]
对于大型数据集,for 循环会影响运行时,所以我想看看是否有使用 NumPy 堆叠技术的方法
【问题讨论】:
-
它没有回答我的问题。请重新打开它。我正在尝试从 3 个多维数组中提取 2x2 到 2d 数组中。我只有x,yz。如何创建所有可能的 2x2 矩阵。即 a1、a2、a3、b1、b2、b3,然后附加元素?
-
认为这应该是您使用
np.dstack的起点。看起来你正在滑过。所以,也许在那里使用 sckit-image 的view_as_windows。 -
这里的
NxN是什么?对于较小的矩阵,它总是 2x2 还是NxN?
标签: python numpy matrix multidimensional-array