我有一个像这样的矩阵:
[[1 1 0] [1 0 1] [0 1 0]]
我想创建另一个矩阵,该矩阵的每一行中都有前一个矩阵的一列,每列中有两个随机数。
[[1,1,0] 0.5 , 0.6 [1,0,1] 0.3 , 0.2 [0,1,0] 0.2 , 0.9]
答案 0 :(得分:0)
您可以使用random
库
import random as rand
A = [[1, 1, 0], [1, 0, 1], [0, 1, 0]]
result = []
for i in A:
result.append(i)
result.append(round(rand.random(), 1))
result.append(round(rand.random(), 1))
print(result)
输出:
[[1, 1, 0], 0.4, 0.6, [1, 0, 1], 0.7, 0.5, [0, 1, 0], 0.9, 0.8]
答案 1 :(得分:0)
您可以使用内置的串联函数和随机模块来实现。
import numpy as np
# original matrix
matrix = np.array([[1, 1, 0], [1, 0, 1], [0, 1, 0]])
# add-on with random numbers (gaussian)
add_matrix = np.random.randn(3,2)
# concatentation
result = np.concatenate((matrix, add_matrix), axis=1)
更新:如果您想要更多可通用化的代码,则可以执行
np.random.randn(matrix.shape[0],2)
而不是np.random.randn(3,2)
。