从另一个矩阵的列创建一个矩阵

时间:2020-08-20 20:40:03

标签: python numpy matrix

我有一个像这样的矩阵: [[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]

2 个答案:

答案 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)