如何使用Numpy在Python中重塑数组?

时间:2019-04-04 08:00:29

标签: python numpy

我有一个要在(1,10)中重塑的(10,)数组

我做了以下(你是我的数组)

import numpy as np

u = u.reshape(-1,1).T

但是它不起作用,有什么建议吗?

5 个答案:

答案 0 :(得分:3)

就像克里斯在评论中提到的那样,您只想通过将行数固定为1和let Python figure out the other dimension来重塑数组:

u=u.reshape(1, -1)

答案 1 :(得分:2)

您可以尝试使用expand_dims()方法。

import numpy as np

a = np.zeros(10) # a.shape = (10,)
a = np.expand_dims(a, axis=0)
print(a.shape)

输出

(1, 10)

答案 2 :(得分:1)

您想要的是:

n2

答案 3 :(得分:1)

我认为@Chris在评论中提到得很好,您可以尝试

我已经尝试过这种情况

>>> import numpy as np
>>> u = np.zeros((10))

>>> u.shape
(10,)
>>> u.T
array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])
>>> u = u.reshape(1, -1)
>>> u.shape
(1, 10)
>>> u.T
array([[0.],
   [0.],
   [0.],
   [0.],
   [0.],
   [0.],
   [0.],
   [0.],
   [0.],
   [0.]])

对于您的情况,我认为u.reshape(1, -1)会做好您的工作。

答案 4 :(得分:0)

本书中的另一个技巧是使用np.newaxis

 u = u[np.newaxis,:]

应该给您一个形状为(1,10)的数组