我有一个要在(1,10)中重塑的(10,)数组
我做了以下(你是我的数组)
import numpy as np
u = u.reshape(-1,1).T
但是它不起作用,有什么建议吗?
答案 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)
的数组