如何理解B=np.reshape(A, (a, a, b)) 和B[:,:,1]反推

问题描述 投票:0回答:1

我对以下内容感到很困惑

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.

python arrays reshape
1个回答
0
投票

reshape
按顺序将数组中的数字作为单个数字列表,并将其重新组织为新形状。它非常高效,因为它根本不需要更改数组——只需更改解释即可。在这种情况下,三组三行,每组一列。

[:,:,0]
的意思是“获取所有第一个维度 [3] 和所有第二个维度 [3] 并删除第三个维度”,从而将您带回 3x3。同样,这只是改变了对同一 9 个数字列表的解释。

© www.soinside.com 2019 - 2024. All rights reserved.