我有一个带有随机数的简单一维 Python 数组。我想要做的是将其转换为特定形状的 numpy 矩阵。我目前的尝试如下所示:
randomWeights = []
for i in range(80):
randomWeights.append(random.uniform(-1, 1))
W = np.mat(randomWeights)
W.reshape(8,10)
不幸的是,它总是创建以下形式的矩阵:
[[随机1,随机2,随机3,...]]
所以只有一个维度的第一个元素被使用,并且 reshape 命令没有效果。有没有办法将一维数组转换为矩阵,以便前 x 项将是矩阵的第 1 行,接下来的 x 项将是第 2 行,依此类推?
基本上这将是预期的形状:
[[1, 2, 3, 4, 5, 6, 7, 8],
[9, 10, 11, ... , 16],
[..., 800]]
我想我总是可以通过解析输入数组来手动构建所需形式的新矩阵。但我想知道是否有一个更简单、更优雅的解决方案,其中包含我没有看到的内置功能。如果我必须手动构建这些矩阵,我将在代码的其他区域进行大量额外工作,因为我所有的源数据都来自简单的一维数组,但将被计算为矩阵。