我是python / numpy的新手,我需要创建一个包含随机数矩阵的数组。
到目前为止我得到的是:
for i in xrange(samples):
SPN[] = np.random.random((6,5)) * np.random.randint(0,100)
作为PHP开发人员,这对我有意义,但不适用于python。那么如何创建一个包含这个矩阵/数组的三维数组?
答案 0 :(得分:17)
np.random
和np.random.randint
与大多数size
函数一样,都接受numpy
参数,因此在>>> SPN = np.random.randint(0, 100, (3, 6, 5))
>>> SPN
array([[[45, 95, 56, 78, 90],
[87, 68, 24, 62, 12],
[11, 26, 75, 57, 12],
[95, 87, 47, 69, 90],
[58, 24, 49, 62, 85],
[38, 5, 57, 63, 16]],
[[61, 67, 73, 23, 34],
[41, 3, 69, 79, 48],
[22, 40, 22, 18, 41],
[86, 23, 58, 38, 69],
[98, 60, 70, 71, 3],
[44, 8, 33, 86, 66]],
[[62, 45, 56, 80, 22],
[27, 95, 55, 87, 22],
[42, 17, 48, 96, 65],
[36, 64, 1, 85, 31],
[10, 13, 15, 7, 92],
[27, 74, 31, 91, 60]]])
>>> SPN.shape
(3, 6, 5)
>>> SPN[0].shape
(6, 5)
我们会在一个np.random.uniform(0, 100, (samples, 6, 5))
中执行此操作步骤:
np.random.uniform
..实际上,看起来你可能想要{{1}},因为你希望元素是浮点数,而不是整数。嗯,它的工作方式相同。 :^)
请注意,您所做的并不等同于{{1}},因为您选择的值介于0和1之间,然后将所有值乘以固定的整数。我假设那不是你想要做的事情,因为它有点不寻常;如果是你真正想要的东西,请发表评论。