我正在尝试创建示例数据,例如下面的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]])
答案 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)]