我尝试生成NumPy
ndarray
,其c
列和n
行但填充了random
{中的数字{1}}分发。我希望分布在列上正常,即我希望列normal
的值接近均值(使c/2
列中的随机数高于列c/2
中的随机数它的左边或右边)。
是否有内置的NumPy
功能?
如果还没有,我们是否可以在NumPy
随机正常中指定给我们分布带内的值,以便我可以单独填充列?
答案 0 :(得分:2)
你可以这样做:
scales = [0.01, 0.1, 1, 0.1, 0.01]
arrays = [np.random.normal(loc=0, scale=s, size=(3)) for s in scales]
np.vstack(arrays).T
array([[ 0.0021688 , -0.11704194, 0.84077943, 0.13570005, -0.01371024],
[ 0.01726078, -0.00167188, -0.85074286, 0.01729595, 0.00696604],
[ 0.00169041, -0.11899872, 0.34075113, 0.08299408, 0.00296036]])