创建具有随机值的列表数组[重复]

问题描述 投票:0回答:2

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

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

Code:

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

但是我在创建阵列时遇到了麻烦。任何提示都非常感谢。

Sample Data:

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]])
python python-3.x list numpy numpy-ndarray
2个回答
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
投票

不使用numpy:

import random as rd

arr = [[rd.uniform(0.0001,1) for _ in range(8)] for _ in range(arrlen)]
© www.soinside.com 2019 - 2024. All rights reserved.