生成0到1之间的相等距离​​的序号

时间:2017-05-10 12:23:08

标签: python numpy random sequential-number

我在我的数组中生成随机变量: np.random.rand(5,3,20)

如何创建相同的形状和大小,但按顺序在0和1之间?

3 个答案:

答案 0 :(得分:3)

使用linspace在指定的时间间隔内创建均匀间隔的数字,然后使用reshape按以下方式创建所需的数字:

np.linspace(0, 1, 300).reshape(5, 3, 20)

注意:

  

'新形状应与原始形状'

兼容

所以,让我们说, 对于np.linspace(0, 1, t).reshape(x, y, z),应该满足的条件是t = x*y*z

答案 1 :(得分:1)

只需使用:

np.linspace(0, 1, num=5).reshape((5, 3))

并设置 num 参数以隐式定义需要多大的步骤。

FB

答案 2 :(得分:1)

另一种选择:

#start:stop:stepj inside np.r_ is interpreted as np.linspace(start, stop, step, endpoint=1) inside of the brackets
np.r_[0:1:300j].reshape(5,3,20)