我在将NumPy数组转换为1-D时遇到问题。我看到了我在SO上发现的想法,但问题依然存在。NumPy - 将数组重塑为1-D
nu = np.reshape(np.dot(prior.T, randn(d)), -1)
print 'nu1', str(nu.shape)
print nu
nu = nu.ravel()
print 'nu2', str(nu.shape)
print nu
nu = nu.flatten()
print 'nu3', str(nu.shape)
print nu
nu = nu.reshape(d)
print 'nu4', str(nu.shape)
print nu
的代码产生以下输出:
nu1 (1, 200)
[[-0.0174428 -0.01855013 ... 0.01137508 0.00577147]]
nu2 (1, 200)
[[-0.0174428 -0.01855013 ... 0.01137508 0.00577147]]
nu3 (1, 200)
[[-0.0174428 -0.01855013 ... 0.01137508 0.00577147]]
nu4 (1, 200)
[[-0.0174428 -0.01855013 ... 0.01137508 0.00577147]]
你觉得可能是什么问题?我在做什么错误?
编辑:之前是(200,200),d是200.我想要得到一维数组:[-0.0174428 -0.01855013 ... 0.01137508 0.00577147]的大小(200,)。 d为200
EDIT2:也randn是numpy.random(从numpy.random进口randn)
“前”的维度是什么?另外,你还期待什么? – mtrw
之前是(200,200)。我想获得一维数组:[-0.0174428 -0.01855013 ... 0.01137508 0.00577147] – Jacek
你可以为'prior'添加一些代码吗?将它设置为'np.ones([d,d])'会产生你想要的输出。 – Stefan