2024-04-19 12:57:12 发布
网友
如果我创建一个数组X = np.random.rand(D, 1),它的形状是(3,1):
X = np.random.rand(D, 1)
(3,1)
[[ 0.31215124] [ 0.84270715] [ 0.41846041]]
如果我创建自己的数组A = np.array([0,1,2]),那么它的形状是(1,3),看起来像
A = np.array([0,1,2])
(1,3)
[0 1 2]
如何在数组A上强制形状(3, 1)?
A
(3, 1)
A=np.array([0,1,2]) A.shape=(3,1)
或者
A=np.array([0,1,2]).reshape((3,1)) #reshape takes the tuple shape as input
numpy模块有一个reshape函数,ndarray有一个reshape方法,这两个方法中的任何一个都可以创建一个具有所需形状的数组:
reshape
import numpy as np A = np.reshape([1, 2, 3, 4], (4, 1)) # Now change the shape to (2, 2) A = A.reshape(2, 2)
Numpy将检查数组的大小是否不变,即prod(old_shape) == prod(new_shape)。由于这种关系,您可以用-1替换形状中的一个值,numpy将为您计算出:
prod(old_shape) == prod(new_shape)
-1
A = A.reshape([1, 2, 3, 4], (-1, 1))
numpy已经有一个“reforme”方法,即numpy.ndarray.shape您可以使用它来更改数组的形状。
A.shape = (3,1)
或者
numpy模块有一个
reshape
函数,ndarray有一个reshape
方法,这两个方法中的任何一个都可以创建一个具有所需形状的数组:Numpy将检查数组的大小是否不变,即
prod(old_shape) == prod(new_shape)
。由于这种关系,您可以用-1
替换形状中的一个值,numpy将为您计算出:numpy已经有一个“reforme”方法,即numpy.ndarray.shape您可以使用它来更改数组的形状。
相关问题 更多 >
编程相关推荐