Python 对3D数组语法的不同Numpy整形';s

Python 对3D数组语法的不同Numpy整形';s,python,arrays,numpy,multidimensional-array,Python,Arrays,Numpy,Multidimensional Array,我正在研究LSTM神经网络。我看到如下代码: X_train = np.reshape(X_train, (X_train.shape[0], X_train.shape[1], 1)) 这段代码旨在将2d数组更改为3d数组,但语法对我来说不太合适,或者至少我不理解它。例如,我假设下面的代码是3d语法 np.reshape(rows , columns, dimensions) 有人能详细说明一下语法是什么以及它试图做什么。函数numpy。重塑在不改变数组数据的情况下为数组提供新的形状。这是

我正在研究LSTM神经网络。我看到如下代码:

X_train = np.reshape(X_train, (X_train.shape[0], X_train.shape[1], 1))
这段代码旨在将2d数组更改为3d数组,但语法对我来说不太合适,或者至少我不理解它。例如,我假设下面的代码是3d语法

np.reshape(rows , columns, dimensions)

有人能详细说明一下语法是什么以及它试图做什么。

函数
numpy。重塑
在不改变数组数据的情况下为数组提供新的形状。这是一个numpy包函数。首先,它需要知道重塑什么,这是该函数的第一个参数(在您的例子中,您希望重塑
X\u train

然后它需要知道新矩阵的形状。此参数必须是元组。对于二维重塑,可以通过
(W,H)
;对于三维重塑,可以通过
(W,H,D)
;对于四维重塑,可以通过
(W,H,D,T)
,依此类推

但是,您也可以通过
X\u train调用
restrape
一个Numpy矩阵。restrape((W,H,D))
。在这种情况下,由于
重塑
功能是
X_train
对象的一种方法,因此您不必传递它,只传递新的形状


还值得一提的是,具有新形状的矩阵中的元素总数应与原始矩阵匹配。例如,您的2D
X_列
具有
X_列.shape[0]X_列.shape[1]
元素。该值应等于
W x H x D

Function
numpy.reformate
在不更改数组数据的情况下为数组提供新的形状。这是一个numpy包函数。首先,它需要知道重塑什么,这是该函数的第一个参数(在您的例子中,您希望重塑
X\u train

然后它需要知道新矩阵的形状。此参数必须是元组。对于二维重塑,可以通过
(W,H)
;对于三维重塑,可以通过
(W,H,D)
;对于四维重塑,可以通过
(W,H,D,T)
,依此类推

但是,您也可以通过
X\u train调用
restrape
一个Numpy矩阵。restrape((W,H,D))
。在这种情况下,由于
重塑
功能是
X_train
对象的一种方法,因此您不必传递它,只传递新的形状


还值得一提的是,具有新形状的矩阵中的元素总数应与原始矩阵匹配。例如,您的2D
X_列
具有
X_列.shape[0]X_列.shape[1]
元素。该值应等于
W x H x D

谢谢现在有意义了。我想快点问。要获取执行np.shape[0]和np.shape[1]列的行数。尺寸是否为np.形状[2]?感谢现在有意义了。我想快点问。要获取执行np.shape[0]和np.shape[1]列的行数。尺寸是否为np形状[2]?