我可以在Python中生成每行等于1的随机矩阵值(十进制)吗?

时间:2019-05-20 01:30:06

标签: python python-3.x

例如:

我有矩阵(1x4):

[0.3452 0.3274 0.1637 0.1637] =>等于1。 如何在Python中将1随机化为矩阵(1x4)?谢谢。

2 个答案:

答案 0 :(得分:6)

您可以创建随机值,然后通过值的总和进行归一化。

import random

x = [random.random() for _ in range(4)]
y = [(a / sum(x)) for a in x]

答案 1 :(得分:0)

从numpy使用dirichlet。

您可以通过更改数字来更改尺寸。 “ size =”将控制行数,括号中的数字将控制列数。结果将为您提供一个数组。

 import numpy

numpy.random.dirichlet(numpy.ones(4), size=1)