我对以下内容感到很困惑
import numpy as np
A = np.array([[1,2,3],
[2,3,4],
[3,4,5]])
A 显然是一个 3x3 矩阵。现在考虑
B = np.reshape(A, (3, 3, 1))
乙是
array([[[1],
[2],
[3]],
[[2],
[3],
[4]],
[[3],
[4],
[5]]])
如果我想找回A,只需简单地做
C = B[:,:,0]
我很困惑它背后的技巧来获得B和C.
reshape
按顺序将数组中的数字作为单个数字列表,并将其重新组织为新形状。它非常高效,因为它根本不需要更改数组——只需更改解释即可。在这种情况下,三组三行,每组一列。
[:,:,0]
的意思是“获取所有第一个维度 [3] 和所有第二个维度 [3] 并删除第三个维度”,从而将您带回 3x3。同样,这只是改变了对同一 9 个数字列表的解释。