【发布时间】:2019-09-08 15:32:38
【问题描述】:
我有一个 2d-numpy-array (28x28) 并且想为所有值低于 50 的索引设置随机值。我尝试了一些方法:
myarray[myarray < 50] = random.randint(80,100)
这不能正常工作,因为所有选定的索引都获得相同的随机值。 我想要不同的随机值。
for y in range(28):
for x in range(28):
if myarray[y,x] < 50:
myarray[y,x] = random.randint(80,100)
上面的代码正在解决问题,但我认为它不能有效地工作,因为它在处理大数据集时变得非常慢。
还有更好的功能吗?
【问题讨论】:
-
您可以创建指定大小的随机数组,例如 numpy.random.randint(80,100,(3,2)) 将创建形状为 [3,2] 的数组,因此只需创建一个随机数组myarray 的大小docs.scipy.org/doc/numpy/reference/generated/…