У меня есть простой одномерный массив Python со случайными числами. То, что я хочу сделать, это преобразовать его в матрицу с нулевым значением определенной формы. Моя текущая попытка выглядит следующим образом:
randomWeights = []
for i in range(80):
randomWeights.append(random.uniform(-1, 1))
W = np.mat(randomWeights)
W.reshape(8,10)
К сожалению, он всегда создает матрицу формы:
[[random1, random2, random3,...]]
Таким образом, используется только первый элемент одного измерения, и команда reshape не имеет никакого эффекта. Есть ли способ преобразования массива 1D в матрицу, так что первые элементы x будут 1-й строкой матрицы, а следующие x - строки 2 и т.д.?
В основном это будет предполагаемая форма:
[[1, 2, 3, 4, 5, 6, 7, 8],
[9, 10, 11, ... , 16],
[..., 800]]
Я полагаю, что я всегда могу создать новую матрицу в желаемой форме вручную, проанализировав входной массив. Но я хотел бы знать, есть ли более простое, более сложное решение eleganz со встроенными функциями, которые я не вижу. Если мне нужно собрать эти матрицы вручную, у меня будет много работы в других областях кода, так как все мои исходные данные поступают в простые массивы 1D, но будут вычисляться как матрицы.