创建具有随机值的列表数组

时间:2018-09-17 17:31:41

标签: python python-3.x list numpy numpy-ndarray

我正在尝试创建示例数据,例如下面的smpl_dt数组示例。我想创建一个数组,其中每个元素都是0.0001和1之间的8个随机数的列表。

我可以使用以下方法轻松创建0到1之间的8个随机数的列表:

Code:

[rd.uniform(0.0001,1) for _ in range(8)]

但是我在创建数组时遇到了麻烦。任何提示都将不胜感激。

样本数据:

print(smpl_dt[0:5])

array([[0.0001, 0.0001, 0.3   , 0.0001, 0.2   , 0.0001, 0.2   , 0.3   ],
       [0.1   , 0.1   , 0.1   , 0.2   , 0.2   , 0.2   , 0.1   , 0.0001],
       [0.1   , 0.0001, 0.2   , 0.0001, 0.1   , 0.2   , 0.0001, 0.4   ],
       [0.3   , 0.0001, 0.0001, 0.2   , 0.1   , 0.2   , 0.2   , 0.0001],
       [0.2   , 0.3   , 0.1   , 0.0001, 0.2   , 0.1   , 0.1   , 0.0001]])

2 个答案:

答案 0 :(得分:3)

使用size参数。例如,

>>> arr = np.random.uniform(0.0001, 1, size=[4,8])

array([[0.67011692, 0.06662612, 0.13316262, 0.80666553, 0.88362879, 0.21492319, 0.22063457, 0.90038505],
       [0.87799324, 0.6486384 , 0.27700837, 0.54103365, 0.52688455, 0.93159481, 0.09245974, 0.54593494],
       [0.4680346 , 0.17802325, 0.21506341, 0.95917602, 0.20481784, 0.53165515, 0.1657028 , 0.39784648],
       [0.38951888, 0.03457946, 0.90076103, 0.13769038, 0.303991  , 0.57457931, 0.64236861, 0.85915101]])

答案 1 :(得分:1)

不使用numpy:

import random as rd

arr = [[rd.uniform(0.0001,1) for _ in range(8)] for _ in range(arrlen)]