如何在numpy中更改数组形状?

2024-04-19 12:57:12 发布

您现在位置:Python中文网/ 问答频道 /正文

如果我创建一个数组X = np.random.rand(D, 1),它的形状是(3,1)

[[ 0.31215124]
 [ 0.84270715]
 [ 0.41846041]]

如果我创建自己的数组A = np.array([0,1,2]),那么它的形状是(1,3),看起来像

[0 1 2]

如何在数组A上强制形状(3, 1)


Tags: nprandom数组array形状rand
3条回答
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方法,这两个方法中的任何一个都可以创建一个具有所需形状的数组:

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将为您计算出:

A = A.reshape([1, 2, 3, 4], (-1, 1))

numpy已经有一个“reforme”方法,即numpy.ndarray.shape您可以使用它来更改数组的形状。

A.shape = (3,1)

相关问题 更多 >